Aspose-Cells java把excel 转化pdf 报错

try {
if (!getLicense()) {
log.error(“License not found or invalid.”);
return writeFile;
}
// // 从 URL 打开输入流
File file = new File(“1732326002450 (1).xlsx”);
// 原始excel路径
Workbook wb = new Workbook(new FileInputStream(file));
// 遍历所有工作表
for (int i = 0; i < wb.getWorksheets().getCount(); i++) {
Worksheet sheet = wb.getWorksheets().get(i);
// 这里只删除表单控件
sheet.getShapes().clear(); // 如果不想保留表单控件
// 获取页面设置对象
PageSetup pageSetup = sheet.getPageSetup();
// 计算实际宽度和高度
double totalWidth = 0;
double totalHeight = 0;
// 遍历列,累加像素宽度
for (int col = 0; col <= sheet.getCells().getMaxColumn(); col++) {
double columnWidth = sheet.getCells().getColumnWidth(col);
totalWidth += columnWidth * 7.5; // 转换为像素宽度
}
// 遍历行,累加像素高度
for (int row = 0; row <= sheet.getCells().getMaxRow(); row++) {
double rowHeight = sheet.getCells().getRowHeight(row);
totalHeight += rowHeight * 96 / 72; // 转换为像素高度
}
// 根据宽高设置横向或纵向打印
if (totalWidth > totalHeight) {
pageSetup.setOrientation(PageOrientationType.LANDSCAPE); // 横向
} else {
pageSetup.setOrientation(PageOrientationType.PORTRAIT); // 纵向
}
}
// 设置 PDF 保存选项
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
pdfSaveOptions.setOnePagePerSheet(false); // 保证每个 Sheet 独立分页
// 保存为 PDF
FileOutputStream fileOS = new FileOutputStream(“1.pdf”);
wb.save(fileOS, pdfSaveOptions);
fileOS.close();
return writeFile;
} catch (Exception e) {
e.printStackTrace();
}
return writeFile;
报错信息:com.aspose.cells.CellsException: Invalid ValidationType string val
at com.aspose.cells.n3k.warning(Unknown Source)
at com.aspose.cells.g4.a(Unknown Source)
at com.aspose.cells.y72.a(Unknown Source)
at com.aspose.cells.k5q.a(Unknown Source)
at com.aspose.cells.k5q.a(Unknown Source)
at com.aspose.cells.Workbook.a(Unknown Source)
at com.aspose.cells.Workbook.(Unknown Source)
原文件下载地址:https://jf-open-prod-1301446188.cos.ap-guangzhou.myqcloud.com/download/237189/1732326002450%20(1).xlsx
Snipaste_2024-11-23_15-07-51.png (118.8 KB)

@cjt,

感谢提供模板 Excel 文件。

经过初步测试,我能够使用模板 Excel 文件重现您提到的问题。加载 Excel 文件时,我发现异常“com.aspose.cells.CellsException:无效的 ValidationType 字符串值”。

File file = new File("d:\\files\\1732326002450 (1).xlsx");
// 原始 excel 路径
Workbook wb = new Workbook(new FileInputStream(file));//exception

我们需要彻底评估该问题。我们已在内部问题跟踪系统中打开以下新工单,并将根据支持政策中提到的条款提供修复。
问题 ID:CELLSJAVA-46181

一旦我们有更新,我们会通知您。

1 Like

一般更新周期大概是多久,这个问题导致我们系统无法正常运行,希望尽快解决,谢谢