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外掛() 這個外掛是微軟官方的,連結如下:微軟官方
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目錄即可