Hirdetés
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Apple iPhone 15 Pro Max - Attack on Titan
- Samsung Galaxy A54 - türelemjáték
- Milyen okostelefont vegyek?
- Xiaomi 15T Pro - a téma nincs lezárva
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Szívós, szép és kitartó az új OnePlus óra
- Samsung Galaxy S25 Edge - a tegnap határán
- Apple iPhone 17 Pro Max – fennsík
Ú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?:))
- Vezeték nélküli fülhallgatók
- Epic Store Ünnepi Ajándékozás - 12. nap: Viewfinder
- Autós topik
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- OTP Bank topic
- Milyen videókártyát?
- A fociról könnyedén, egy baráti társaságban
- Lakáshitel, lakásvásárlás
- One otthoni szolgáltatások (TV, internet, telefon)
- VR topik
- További aktív témák...
- Újszerű Dell Latitude 5420 - i7 1185G7 ,16-32GB RAM, 512GB SSD, jó akku, számla, 6 hó gar
- Dell Latitude 7400 14" FHD IPS, i5 8365U, 16GB RAM, SSD, jó akku, számla, 6 hó gar
- HP Omen RTX 3070 8GB GDDR6 Szép Állapotú Eladó!
- Samsung Galaxy Watch 6 40mm, Újszerű, 1 Év Garanciával
- Samsung Galaxy Z Flip 7 512GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5060Ti 16GB GAMER PC termékbeszámítással
- 146 - 147 - 166 - 167 - 168 - 169 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- Samsung Galaxy Watch 6 40mm, Újszerű, 1 Év Garanciával
- Dell Latutide E7270, 7280, i5- i7, 8GB RAM, 256gb ssd, EU bill., számla, 6 hó gar - több db
- BESZÁMÍTÁS! ASUS H510M i5 11400F 16GB DDR4 512GB SSD RX 6600XT 8GB Zalman T4 Plus Cooler Master 650W
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


