Shi*_*hiv 6 java excel java-ee apache-poi
我使用此处指定的代码合并了两个excel文件
http://www.coderanch.com/t/614715/Web-Services/java/merge-excel-files
这个块应用我的合并单元格的样式
if (styleMap != null)
{
if (oldCell.getSheet().getWorkbook() == newCell.getSheet().getWorkbook())
{
newCell.setCellStyle(oldCell.getCellStyle());
}
else
{
int stHashCode = oldCell.getCellStyle().hashCode();
XSSFCellStyle newCellStyle = styleMap.get(stHashCode);
if (newCellStyle == null)
{
newCellStyle = newCell.getSheet().getWorkbook().createCellStyle();
newCellStyle.cloneStyleFrom(oldCell.getCellStyle());
styleMap.put(stHashCode, newCellStyle);
}
newCell.setCellStyle(newCellStyle);
}
}
Run Code Online (Sandbox Code Playgroud)
这一切都按预期工作,并在生成我的XSSFWorkbook方面做得很好.
我尝试打开时出现问题:
我看到下面的错误
我的错误报告包含在下面
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<logFileName>error072840_01.xml</logFileName>
<summary>Errors were detected in file 'XYZ.xlsx'</summary>
<repairedRecords summary="Following is a list of repairs:">
<repairedRecord>Repaired Records: Format from /xl/styles.xml part (Styles)</repairedRecord>
</repairedRecords>
</recoveryLog>
Run Code Online (Sandbox Code Playgroud)
毕竟这些我的表单打开很好,但没有样式.我知道要创建的样式数量有限制,并且已经计算了正在创建的样式,我几乎看不到创建的样式.我甚至知道这个问题的风格太多了.
不幸的是,POI支持仅优化HSSFWorkbook(Apache POI从工作簿中删除CellStyle)
如何缓解这个问题的任何帮助都会很棒.
好吧,在调试了 POI 代码以及如何应用样式等等之后。
下面的操作解决了问题
newCellStyle.getCoreXf().unsetBorderId();
newCellStyle.getCoreXf().unsetFillId();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8807 次 |
最近记录: |