从Excel生成PDF时出现问题

时间:2017-12-01 13:39:21

标签: aspose aspose-cells aspose.pdf

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

以下是Aspose Cells的Java示例代码。

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 Cells版本: aspose-cells:17.4.0

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

1 个答案:

答案 0 :(得分:1)

我们已使用most recent version i.e. 17.11.3测试了您的Excel文件,并发现由于Aspose.Cells中的一些错误而发生此问题。我们已将此问题记录在我们的数据库中以供调查和修复。一旦问题得到解决,我们将为您更新。以下是用于测试此问题的示例代码以及由Aspose.Cells创建的Microsoft Excel和Pdf创建的Pdf的屏幕截图,供参考。

<强>爪哇

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

<强>截图 enter image description here

<强>更新-1

此问题已在Aspose.Cells for Java 17.12中修复。以下是使用固定版本生成的输出Pdf屏幕截图。

enter image description here

注意: 我在Aspose担任开发人员传播者