Hirdetés
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- Bemutatkozott a Poco X7 és X7 Pro
- One mobilszolgáltatások
- Beköltözik a platformköltözés az iOS-be és az Androidba
- Máris megvásárolható az Ulefone új RugKing szériája
- Mobil flották
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy Watch6 Classic - tekerd!
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Apple iPhone 17 - alap
Új hozzászólás Aktív témák
-
E.Kaufmann
veterán
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?:))
- Legion 5 15ACH6H 15.6" FHD IPS Ryzen 5 5600H RTX 3060 16GB 500GB NVMe gar
- Bomba ár! Dell Vostro 15 3568 - i3-6GEN I 4GB I 320GB I 15,6" HD I HDMI I Cam I W11 I Garancia!
- Thrustmaster T300 RS Alcantara + Wheel Stand Pro Állvány
- Vegyes Retro Nintendo / Sega Játékok
- Bomba ár! Asus X555LA - i3-4GEN I 4GB I 500GB I 15,6" HD I HDMI I Cam I W10 I Garancia!
- Apple iPhone 17 Pro Silver 256 GB Használt, karcmentes 100% akku / 0 ciklus 1 év gari!
- KARÁCSONYI AKCIÓK / MICROSOFT WINDOWS 10,11 / OFFICE 16,19,21,24 / VÍRUS,VPN VÉDELEM / SZÁMLA / 0-24
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 14 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3913
- HP EliteBook 840 G9 i7-1265U 16GB 512GB 14" FHD+ 1 év teljeskörű garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


