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

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

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插件() 這個插件是微軟官方的,鏈接如下:微軟官方

package ;

import veXComponent;

import atch;

import ant;

public class TransferTool {

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

tln("Starting excel...");

long start = entTimeMillis();

ActiveXComponent app = new ActiveXComponent("ication");

try {

roperty("Visible",false);

Dispatch workbooks = roperty("Workbooks")spatch();

tln("opening document:" + els);

Dispatch workbook = ke(workbooks, "Open", od, new Object[]{els, new Variant(false),new Variant(false)}, new int[3])spatch();

ke(workbook, "SaveAs", od, 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);

tln("to pdf " + pdf);

(workbook, "Close", f);

long end = entTimeMillis();

tln(":" + (end - start)/1000 + " s");

} catch (Exception e) {

tln("========Error:Operation fail:" + essage());

}finally {

if (app != null){

ke("Quit", new Variant[] {});

}

}

}

public static void main(String[] args) {

els2pdf("f:","f:");

}

}

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