<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java將excel文件轉換成pdf文件的方法

    時間:2025-12-04 04:26:31 java語言

    java將excel文件轉換成pdf文件的方法

      java將excel文件轉換成pdf文件的原理是使用POI來讀取excel的內容,將其寫到pdf文件中。實現難度有點大,主要是因為excel sheet結構不固定,內容也不固定,可能存在圖片等,導致讀excel比較復雜,真正實現還是比較復雜的。下面是小編為大家帶來的java將excel文件轉換成pdf文件的方法,歡迎閱讀。

      java將excel文件轉換成pdf文件的方法

      最近做一個項目,需要把excel文件轉換成pdf文件,經過我查資料,無非使用兩種方式:1 POI+Itext 2 Jacob來調用excel另存功能。

      第一種方式,原理是使用POI來讀取excel的內容,將其寫到pdf文件中。實現難度有點大,主要是因為excel sheet結構不固定,內容也不固定,可能存在圖片等,導致讀excel比較復雜,真正實現還是比較復雜的。

      第二種方式,原來是使用jacob來調用excel文件的另存為pdf的功能。主要是熟悉jacob的API即可。不需要精巧的編程技巧。

      本文使用第二種方式,使用這種方式,需要在當前環境中安裝office,pdf軟件。建議安裝office 2010版本。如果安裝的07版本,還需要安裝一個excel插件(SaveAsPDFand XPS.exe) 這個插件是微軟官方的,鏈接如下:微軟官方

      package com.bplead.module.sign.util;

      import com.jacob.activeX.ActiveXComponent;

      import com.jacob.com.Dispatch;

      import com.jacob.com.Variant;

      public class TransferTool {

      public static void els2pdf(String els,String pdf){

      System.out.println("Starting excel...");

      long start = System.currentTimeMillis();

      ActiveXComponent app = new ActiveXComponent("Excel.Application");

      try {

      app.setProperty("Visible",false);

      Dispatch workbooks = app.getProperty("Workbooks").toDispatch();

      System.out.println("opening document:" + els);

      Dispatch workbook = Dispatch.invoke(workbooks, "Open", Dispatch.Method, new Object[]{els, new Variant(false),new Variant(false)}, new int[3]).toDispatch();

      Dispatch.invoke(workbook, "SaveAs", Dispatch.Method, new Object[] {

      pdf, new Variant(57), new Variant(false),

      new Variant(57), new Variant(57), new Variant(false),

      new Variant(true), new Variant(57), new Variant(true),

      new Variant(true), new Variant(true) }, new int[1]);

      Variant f = new Variant(false);

      System.out.println("to pdf " + pdf);

      Dispatch.call(workbook, "Close", f);

      long end = System.currentTimeMillis();

      System.out.println("completed..used:" + (end - start)/1000 + " s");

      } catch (Exception e) {

      System.out.println("========Error:Operation fail:" + e.getMessage());

      }finally {

      if (app != null){

      app.invoke("Quit", new Variant[] {});

      }

      }

      }

      public static void main(String[] args) {

      els2pdf("f:ProjectTemplate.xlsx","f:pdf.pdf");

      }

      }

      運行以上環境,需要下載jacob的包,該包還包含2個dll文件,一個是jacob-1.17-x64.dll,這個是64位的,還有一個是jacob-1.17-x86.dll文件,這個是32位的。將jar包包含到classpath目錄,dll文件包含到jre/bin目錄即可

      【拓展】excel識別PDF

      打開excel;

      1.1 點擊[數據];

      1.2 點擊[獲取數據];

      1.3 點擊[來自文件];

      1.4 點擊[來自PDF];

      2.1 選中要轉換的文件;

      2.2 導入

      3.1 選中要讀取的區域;

      3.2 轉換數據;

      刪除沒有數值的空列;

      5.1 選中需要拆分的列;

      5.2 點擊[拆分列];

      5.3 點擊[按分隔符];

      點擊[確定];

      把錯誤的標題重命名;

      點擊[關閉并上載],完成操作!

    【java將excel文件轉換成pdf文件的方法】相關文章:

    java讀文件寫文件的方法09-17

    Java寫入文件的方法01-29

    恢復損壞的Excel文件的方法11-23

    java調用bat文件的方法06-21

    如何編輯pdf文件08-07

    php操作excel文件的方法小結12-02

    關于java調用bat文件的方法02-08

    講述java讀取properties文件的方法02-17

    java寫入文件的方法有哪些10-13

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人