我有一个excel文件,其中有两个图表(条形饼,和甜甜圈图)。这些图表是通过其他工作表中的单元格引用创建的。但是,当我将文件保存到PDF时,第二个图表(甜甜圈图)不会在pdf中呈现。
以下是用于Aspose单元的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单元版本:aspose-cells:17.4.0
Excel文件可以在这里下载:https://drive.google.com/file/d/1UgFVTAOk3NcvQNdbjWBlf3zTudxjOmTj/view?usp=sharing
发布于 2017-12-02 07:10:05
我们已经用最新版本,即17.11.3测试了您的Excel文件,发现这个问题是由于Aspose.Cells中的一些错误而发生的。我们已将此问题记录在数据库中,以便进行调查和修复。一旦问题解决了,我们会更新你的信息。下面是用于测试此问题的示例代码以及Microsoft创建的Pdf和Aspose.Cells创建的Pdf的屏幕截图,以供参考。
Java
Workbook wb = new Workbook(dirPath + "Aspose_Cells_Clear_PrintArea.xlsx");
wb.save(dirPath + "output.pdf");截图

更新-1
这个问题已经在Aspose.Cells for Java 17.12中解决了。下面是用固定版本生成的输出Pdf屏幕截图,供参考。

备注:我在Aspose做开发人员布道员
https://stackoverflow.com/questions/47594664
复制相似问题