- MasterDeeJay: Legújabb retró beszerzésem - 3Dfx Voodoo4 4500 32Mb
- mefistofeles: Az elhízás nem akaratgyengeség!
- Luck Dragon: Asszociációs játék. :)
- aquark: RETRO: Idén lesz 30 éves az első full 3D-s játék!
- potyautas: Norvég nyár
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- mefistofeles: Az elhízás nem akaratgyengeség! 2 Ahogy én csinálom.......
- Geri Bátyó: Agglegénykonyha 13 – Néhány egyszerű, de finom étel
Ú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?:))
- 3D nyomtatás
- Digitális Állampolgárság Program DÁP
- Elképzelhetetlen sebességre kapcsolt az Anthropic
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Amit látnod kell 80’ – 90’ évek, egész estét betöltő mozi filmjei.
- Hálózati / IP kamera
- Telekom mobilszolgáltatások
- MasterDeeJay: Legújabb retró beszerzésem - 3Dfx Voodoo4 4500 32Mb
- Szintet lép a Xiaomi Apple másolásban?
- Nyaralás topik
- További aktív témák...
- Eladó egy hibátlan állapotú Motorola razr 2022 8/256gb fekete készülék
- Eladó egy bontatlan Nintendo Switch Oled White Super Mario kiadás
- Eladó egy hűtőbordás, Corsair Force MP600, NVMe Gen4 500GB-os SSD!
- ELADÓ: 8GB SKHynix 2400MHz DDR4 SODIMM (laptop) memória (+gari/számlás)
- GAINWARD PYTHON III RTX 5070 12GB GDDR7! 3 VENTIS! GARANCIA/SZÁMLA (a Te nevedre kiállítva)!
- HP Elitebook X360 830 G7,Multi-Touch 2 az 1-ben,i5-10310U,16GB DDR4,256GB SSD,WIN11
- 225 - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5060 (ELKELT)
- ÚJ, GARIS gamer egér Spirit of GAMER Xpert M800 13 000 Ft
- Keresünk iPhone 14/14 Plus/14 Pro/14 Pro Max
- SanDisk Extreme Portable 8TB (SDSSDE61-8T00-G25) (utolsó darab)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

