从 Excel 生成 PDF 时出现问题

Issue while generating PDF from Excel

我有一个 excel 文件,其中有两个图表(饼图圆环图)。这些图表是通过引用其他工作表的单元格创建的。但是,当我将文件保存为 PDF 时,第二张图表(圆环图)未在 pdf 中呈现。

这是 Java 中 Aspose Cells 的示例代码。

import com.aspose.cells.*

class AsposeCellTesting {

public static void main(String[] args) {
    generatePDF()
}

public static void generatePDF(){
    Workbook workbook = new Workbook(new FileInputStream(new File("new_imp.xlsx")));
    println "Number of sheets = ${workbook.getWorksheets().getCount()}"

    for (int j = 0; j < workbook.getWorksheets().getCount(); j++) {
        if(shouldExclude(workbook.getWorksheets().get(j).getName())){
            workbook.getWorksheets().get(j).setVisible(false);
        }else{
            // do nothing
        }
    }

    workbook.calculateFormula();
    workbook.save("DONUT_CHART.pdf");
}

public static Boolean shouldExclude(String sheetName) {
    if(sheetName.startsWith("_") || sheetName.contains("staging") ||sheetName.contains("Staging"))  {
        return true;
    }
    return false;
  }

}

如果圆环图的所有数据在数据中都可用(即 2.0% 而不是 0.0%),则导出工作正常。

Aspose 细胞版本:aspose-cells:17.4.0

Excel 文件可以在这里下载:https://drive.google.com/file/d/1UgFVTAOk3NcvQNdbjWBlf3zTudxjOmTj/view?usp=sharing

我们用 most recent version i.e. 17.11.3 测试了您的 Excel 文件,发现此问题的发生是由于 Aspose.Cells 中的一些错误。我们已将此问题记录在我们的数据库中以进行调查和修复。问题解决后,我们会更新您。下面是测试这个问题的示例代码和微软Excel创建的Pdf和Aspose.Cells创建的Pdf的截图,供参考。

Java

Workbook wb = new Workbook(dirPath + "Aspose_Cells_Clear_PrintArea.xlsx");
wb.save(dirPath + "output.pdf");

截图

Update-1

此问题已在 Aspose.Cells for Java 17.12 中修复。这里是固定版本生成的输出Pdf截图,供参考。

注意:我在 Aspose 担任开发人员布道师