test.zip (17.3 KB)
zip中是测试代码和模板,还有转换完的svg。
现在我用的是24.4版本,麻烦帮忙看下原因。
@jishangyang
通过使用样例文件和代码在最新版本v24.5上进行测试,我们可以复现问题。发现当转换文件到svg格式时,出现内容丢失和行高错误的问题。
我们已经在内部问题跟踪系统中打开了以下新问题单,并将根据Free Support Policies中提到的条款提供修复。
问题单号:CELLSJAVA-45988
行高是自动高度的,并且缓存的行高不对,当你在Excel中打开源文件“test.xlsx“时,Excel会自动重算自动高度的行高。请添加如下代码excel.getWorksheets().get(i).autoFitRows(true);
,以达到同样的效果。
Code:
Workbook excel = new Workbook(imageBinary);
// ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
String uuid = UUID.randomUUID().toString();
for(int i = excel.getWorksheets().getActiveSheetIndex() ; i<excel.getWorksheets().getCount() ; i++){
//仅重新计算自动高度的行高
excel.getWorksheets().get(i).autoFitRows(true);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
SvgSaveOptions svgSaveOptions = new SvgSaveOptions();
svgSaveOptions.setSheetIndex(i);
excel.save(byteArrayOutputStream, svgSaveOptions);
FileOutputStream fos;
// if(i == 5){
fos = new FileOutputStream( new File(newFileName));
// }else{
// fos = new FileOutputStream( new File(newFileName1));
// }
byteArrayOutputStream.writeTo( fos );
fos.close();
}
如果我加上这个自适应属性,我给我单元格设置了固定行高,超出部分不显示 这个场景是不是就不生效了