[英]If multiple Sheets contains RichText then on combining them into one workbook, RichText cell appears as blank from sheet 2 onward
我有多個Excel工作表,每個工作表包含很少的RichText單元格但是當我使用poi-ooxml將所有Excel工作表合並到一個工作簿中時,第一個工作表正確顯示但在后續工作表中我們丟失了RichText單元格值,單元格顯示為空白。
This issue is now fixed for me.
i have added below lines of code when relationship type is Shared String ("http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"
):
sd = SstDocument.Factory.parse(p.getInputStream());
targetsd = SstDocument.Factory.parse(partTarget.getInputStream());
List<CTRst> ctRstArray = sd.getSst().getSiList();
String sharedString = null;
for (CTRst ctRst : ctRstArray) {
if(ctRst.getRList() != null && ctRst.getRList().size()>0){
List<CTRElt> rList = ctRst.getRList();
targetsd.getSst().addNewSi().getRList().addAll(rList);
}else if(ctRst.getRPhList() != null && ctRst.getRPhList().size() > 0){
List<CTPhoneticRun> rphList = ctRst.getRPhList();
targetsd.getSst().addNewSi().getRPhList().addAll(rphList);
}else {
sharedString = ctRst.getT();
CTRst ctrst = targetsd.getSst().addNewSi();
ctrst.setT(sharedString);
}
}
earlier the lines of code was:
sd = SstDocument.Factory.parse(p.getInputStream());
targetsd = SstDocument.Factory.parse(partTarget.getInputStream());
List<CTRst> ctRstArray = sd.getSst().getSiList();
String sharedString = null;
for (CTRst ctRst : ctRstArray) {
sharedString = ctRst.getT();
CTRst ctrst = targetsd.getSst().addNewSi();
ctrst.setT(sharedString);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.