- Honor Magic6 Pro - kör közepén számok
- Alumíniumba öltözött a Nothing Phone (4a) Pro
- iPhone topik
- Google Pixel 10a – évismétlés
- Hivatalos a Poco X8 Pro Max gigantikus akkukapacitása
- Samsung Galaxy A56 - megbízható középszerűség
- Európába is befut a Red Magic 11 Air Trace Edition
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Huawei P30 Pro - teletalálat
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
Ú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?:))
- BESZÁMÍTÁS! HP Elitedesk 800 G2 SFF brand - i7 6700 16GB DDR4 250GB SSD 500GB HDD GTX 1050Ti 4GB W10
- BESZÁMÍTÁS! Lenovo Legion Pro 5 WQXGA GAMER notebook - i9 14900HX 32GB DDR5 1TB SSD RTX 5070 8GB
- LG 32G810SA-W - 32" IPS Smart - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDR 400
- BESZÁMÍTÁS! Apple MacBook Air 13 M1 8GB RAM 256GB SSD notebook garanciával hibátlan működéssel
- Beszámítás! LG UltraGear 27GR93U-B 27 144Hz UHD IPS 1ms monitor garanciával hibátlan működéssel
- BESZÁMÍTÁS! ASUS B150M i5 7500 8GB DDR4 256GB SSD GTX 1050Ti 4GB Nbase Black Midi DeepCool 400W
- BESZÁMÍTÁS! ASUS B560M i5 11400 64GB DDR4 512GB SSD RTX 3070 8GB ZALMAN S2 TG CHIEFTEC 750W
- BESZÁMÍTÁS! Gigabyte B450M R5 2600X 16GB DDR4 512GB SSD GTX 1650 4GB ZALMAN T3 Plus Deepcool 400W
- Bomba ár! Dynabook Portege X30-L-K - i7-1260P I 8GB I 256SSD I 13,3" FHD I Cam I W11 I Gari!
- Telefon felváráslás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

