Hirdetés
- iPhone topik
- Az Apple bemutatta az iPhone 17-et
- Hivatalos a OnePlus 13 startdátuma
- Milyen okostelefont vegyek?
- Ilyen lesz a Nothing Ear (3)
- Huawei Mate 20 Pro - a mindenit!
- Kis méret, nagy változás a Motorolánál
- Yettel topik
- Dobja az ARM a Cortex megnevezést
- Kézbe fogható paradoxon lett az iPhone Air
Új hozzászólás Aktív témák
-
válasz
E.Kaufmann #10544 üzenetére
Tegnap picit még püföltem a kódon:
- kettévettem a poireplace függvényt,
- megcsináltam, hogy elvileg működjön fejléccel és lábléccel is, de ez nem lett alaposabban tesztelve
- néha írt hibaüzeneteket a Word, hogy a fájl meg van már nyitva, így bezártam az input és output állományt is a függvény végén
- kicsit sztrímesítettem, ha valakinek gondja lenne vele, távolítsa el a kódból elsőnek a .parallel() részeket:private static void paragReplace(XWPFParagraph p,java.util.HashMap<String,String> hs){
String text = p.getText();
boolean change=false;
for ( String key : hs.keySet() ) {
if (text != null && text.contains("${"+key+"}")) {
text = text.replace("${"+key+"}", hs.get(key));
change=true;
}
}
if(change){
List<XWPFRun> runs = p.getRuns();
if (runs != null) {
String ff=runs.get(0).getFontFamily();
int fs=runs.get(0).getFontSize();
removeAllRuns(p);
insertReplacementRuns(p,text,ff,fs);
}
}
}
public static void poiReplace(java.util.HashMap<String,String> hs, String in, String out) throws Exception
{
//Bekezdések
java.io.FileInputStream ins=new java.io.FileInputStream(in);
XWPFDocument doc = new XWPFDocument(ins);
doc.getParagraphs().stream().parallel()
.forEach((p) -> {
paragReplace(p,hs);
}
);
//Táblázatok
doc.getTables().stream().parallel()
.forEach((tbl) -> {tbl.getRows().stream()
.forEach((row) -> {row.getTableCells().stream()
.forEach((cell) -> {cell.getParagraphs().stream()
.forEach((p) -> {
paragReplace(p,hs);
});
});
});
}
);
//Fejléc bekezdések és táblázatok
doc.getHeaderList().stream().forEach( (hdr) ->
{
hdr.getParagraphs().stream().parallel()
.forEach((p) -> {
paragReplace(p,hs);
});
hdr.getTables().stream().parallel()
.forEach((tbl) -> {tbl.getRows().stream()
.forEach((row) -> {row.getTableCells().stream()
.forEach((cell) -> {cell.getParagraphs().stream()
.forEach((p) -> {
paragReplace(p,hs);
});
});
});
});
}
);
//Lábléc bekezdések és táblázatok
doc.getFooterList().stream().forEach( (ftr) ->
{
ftr.getParagraphs().stream().parallel()
.forEach((p) -> {
paragReplace(p,hs);
});
ftr.getTables().stream().parallel()
.forEach((tbl) -> {tbl.getRows().stream()
.forEach((row) -> {row.getTableCells().stream()
.forEach((cell) -> {cell.getParagraphs().stream()
.forEach((p) -> {
paragReplace(p,hs);
});
});
});
});
}
);
doc.write(new java.io.FileOutputStream(out));
doc.close();
ins.close();
}
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- iPhone topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen egeret válasszak?
- Az Apple bemutatta az iPhone 17-et
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Lalikiraly: Sencor SMC BS30 aktív hangfalszett bemutató
- Kerékpárosok, bringások ide!
- Hivatalos a OnePlus 13 startdátuma
- ThinkPad (NEM IdeaPad)
- RAM topik
- További aktív témák...
- Nitro AN515 15.6" FHD IPS Ryzen 7 5800H RTX 3070 16GB 1TB NVMe magyarított vbill gar
- MSI GeForce RTX 4080 SUPER GAMING X SLIM 16GB GDDR6X 256bit Videókártya !
- MSI Radeon RX 6400 AERO ITX 4GB GDDR6 64bit Videokártya !
- MSI GeForce RTX 4070 Ti GAMING X SLIM 12GB GDDR6X 192bit Videokártya !
- GIGABYTE GeForce RTX 5060 Ti WINDFORCE OC 16GB GDDR7 128bit Videokártya !
- OLCSÓBB!!! Dell Latitude Precision XPS Üzleti gépek, 2-in-1 gépek, Vostro 8-12. gen.
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3315, 90% Akkumulátor
- Intel Core i5 3470 confidential Ivy bridge Quad Core
- GYÖNYÖRŰ iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3444, 93% Akkumulátor
- GYÖNYÖRŰ iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3324
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest