2016-04-25 5 views
1

Я хочу экстракт/чтение диаграммы (гистограмма/Круговая диаграмма и т.д.) из моего .xlsx файла с помощью Apache POI and Java и сохранить его как изображение или как PDF на моем жестком диске.Как сохранить график от excel как изображение/PDF?

Возможно ли это? Если да, то как?

Спасибо!

+0

Возможный дубликат [Как экспортировать диаграммы из Excel в виде графиков] (http://stackoverflow.com/quest ion/2495480/how-do-i-export-charts-from-excel-as-graphics) – Draken

+0

Я не хочу использовать Aspose, поскольку он не является бесплатным. О JExcel, я вижу, что не рекомендуется использовать вместо Apache POI. –

ответ

2

После долгих исследований, видимо, я вижу, что не представляется возможным извлекать диаграммы из Excel с использованием Apache POI и сохранять его как изображение или в формате PDF.

подход можно взять в этой ситуации заключается в использовании решения на основе COM с помощью Com4j (http://com4j.kohsuke.org/) для преобразования Excel в PDF, а затем использовать Apache PDFBox (https://pdfbox.apache.org/) для преобразования из PDF изображений ,


Давать ниже краткие сведения о том, как использовать Com4j конвертировать Excel в PDF программно:

  1. Генерирование Java классы артефактов из Excel с помощью следующей команды:

    Java - jar tlbimp-2.1.jar -o wsh -p com.mycompany.excel4j "C: \ Program Файлы (x86) \ Microsoft Office \ Office14 \ EXCEL.exe"

    Нам нужно 3 Баночки для выше преобразования: com4j-2.1.jar, TLBIMP-2.1.jar, args4j-2.0.8.jar

    Мы можем загрузить соответствующие JARs из - http://com4j.kohsuke.org/maven-com4j-plugin/dependencies.html

    Для получения дополнительной информации см: http://com4j.kohsuke.org/

  2. Копирование генерироваться Java артефакты в рабочую область или создать JAR из них и использовать после добавления его в путь класса приложения.

  3. Используйте следующий фрагмент кода для вызова сгенерированные COM API, из Java и преобразовать первый лист из указанного Excel файл в формате PDF (Заменить соответственно на вашем компьютере пути, указанные в следующем фрагменте кода для Excel и PDF файлы):

    public static void main(String[] args) throws Exception { 
        _Application excelApplication = ClassFactory.createApplication(); 
    
    _Workbook workbook = excelApplication 
         .workbooks() 
         .open("C:\\Users\\Akki\\Desktop\\MyExcel.xlsx", 
           null, null, null, null, 
           null, null, null, 
           null, null, null, null, null, 
           null, null, 0); 
    
    workbook.exportAsFixedFormat(XlFixedFormatType.xlTypePDF, "C:\\Users\\Akki\\Desktop\\MyPDF.pdf", null, null, null, null, null, null, null); 
    
    workbook.close(false, null,null, 0); 
    
    excelApplication.quit(); 
    
    System.out.println("Converted Excel to PDF!"); } 
    

Cheers,

Акшай

Смежные вопросы