DustinChu Blog

使用jxl將java資料導入excel

使用java_將資料導入excel

最近在把公司舊的ERP HR系統 移植出來
必須要用最快的方式移植出來不然我本來的專案會趕不上進度
順便找時間記錄一下最近開發紀錄

excel 幾種實現方式!

POI

poi 是 apache poi開放源碼函式庫提供java對 Microsoft office 格式檔案讀寫功能
通過HSSF可以使用純JAVA代碼來讀取 寫入 修改EXCEL
HSSF -讀寫Microsoft Excel格式檔案功能(只支援97-2003)
XSSF -讀寫Microsoft Excel OOXML格式檔案功能
HWPF -讀寫讀寫Microsoft Word格式檔案功能
HSLF -讀寫讀寫Microsoft PowerPoint格式檔案功能
HDGF -讀寫讀寫Microsoft Visio格式檔案功能
-iText 可以通過iText 來建立PDF 只需在classpath加入iText.jar

  • JXL

    有興趣的在去查一下

    FASTEXCEL

是一個採用純java 開發的excel文件讀寫組件 支持Excel 97-2003
fastExcel 只能讀取單元格的字串資料其他屬性 像是顏色 字體就不支持 但也因為這樣FastExcel 需要用到的記憶體很少

JXL

java excel 可以讀取Excel文件內容 建立excel文件 更新已存在的excel

POI JXK 比較

  1. 效率高
  2. 功能強大使用上比較複雜
  3. 支持公式 圖表
  4. 能夠修改單元屬性格
  5. 支持字體 數字 日期操作
  • JXL
  1. 效率低
  2. 操作簡單
  3. 部分支援
  4. 能夠修改單元格屬性 但不比POI強大
  5. 支援字體 數字 日期

使用JXL程式碼實例

程式都註解上去了!由於時間的關係需要快速的去開發
就嘗試幾個方法開發 需要更快速的來去完成工作才是目標
所以選擇使用 JXL 有空再把POI程式碼貼上來

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package excel;
import java.awt.Label;
import java.io.File;
import java.io.IOException;
import jxl.Workbook;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class excel
{
//jxl 建立 excel
public static void main(String[] args)
{
String[] title = {"id","name","sex"};
//建立文件
File file = new File("C:/jxl_test.xls");
try
{
file.createNewFile();
//建立 工作簿
WritableWorkbook workbook = Workbook.createWorkbook(file);
//建立 Sheet
WritableSheet sheet = workbook.createSheet("sheet1", 0);
jxl.write.Label label=null;
for (int i = 0; i < title.length; i++)
{
//第一行 設定列名
label = new jxl.write.Label(i, 0, title[i]);
sheet.addCell(label);
}
//增加資料
for (int i = 1; i < 10; i++)
{
label = new jxl.write.Label(0, i, "a"+1);
sheet.addCell(label);
label = new jxl.write.Label(1, i, "user"+1);
sheet.addCell(label);
label = new jxl.write.Label(2, i, "男"+1);
sheet.addCell(label);
}
//寫入
workbook.write();
//關閉
workbook.close();
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

效果圖

```

JXL.jar 下載點分享

相關文章: