代码之家  ›  专栏  ›  技术社区  ›  sgiri

从Excel生成PDF时出现问题

  •  0
  • sgiri  · 技术社区  · 7 年前

    我有一个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 回复  |  直到 7 年前
        1
  •  1
  •   shakeel    7 年前

    我们已经用 most recent version i.e. 17.11.3 发现这个问题是由于Aspose中的一些错误引起的。细胞。我们已将此问题记录在数据库中,以供调查和修复。问题解决后,我们将向您提供最新信息。以下是用于测试此问题的示例代码,以及Microsoft Excel创建的Pdf和Aspose创建的Pdf的屏幕截图。参考单元格。

    Java语言

    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担任开发人员传道者