在用ureport2做报表导出word的时候,发现合并的单元格在微软office中打开显示正常。
在wps word中打开单元格显示的是未合并内容,宽度不对。
实际上是已经合并了,只是宽度还是原来单元格内容,故修改ureport2单元格宽度后重新编译后解决
修改的文件:ureport2-core/src/main/java/com/bstek/ureport/export/word/high/WordProducer.java
修改的内容:
table.getCTTbl().getTblPr().addNewTblLayout().setType(STTblLayoutType.FIXED);
List<Integer> columnsWidthList = new ArrayList<>();
for (int rowNumber = 0; rowNumber < rows.size(); rowNumber++) {
Row row = rows.get(rowNumber);
int height = row.getRealHeight();
XWPFTableRow tableRow = table.getRow(rowNumber);
tableRow.setHeight(DxaUtils.points2dxa(height));
Map<Column, Cell> colCell = cellMap.get(row);
if (colCell == null) {
continue;
}
for (Column col : columns) {
int width = col.getWidth();
columnsWidthList.add(width);
}
}
if (cell.getColSpan() > 0) {
for (int i = colNumber + 1; i < colNumber + cell.getColSpan(); i++) {
width += columnsWidthList.get(i);
}
}
版本:ureport2-core-2.2.9.jar
下载链接:https://download.csdn.net/download/ChaofanBdd/86832869
参考链接:
https://blog.csdn.net/AngleLove625041280/article/details/126984988
https://blog.csdn.net/weixin_43178406/article/details/119037447