在編程中經常需要使用到表格(報表)的處理主要以Excel表格為主。下面給出用java寫入數據到excel表格方法:
1.添加jar文件
java導入導出Excel文件要引入jxl.jar包,最關鍵的是這套API是純Java的,并不依賴Windows系統,即使運行在Linux下,它同樣能夠正確的處理Excel文件。下載地址:http://www.andykhan.com/jexcelapi/
2.jxl對Excel表格的認識
可以參見:http://www.jfrwli.cn/article/41606.html
如下圖是準備要建立的Excel文件t.xls。坐標(列,行):角色(0,0),助教(0,3),功能描述(3,0),UC22(1,4)。
3.java代碼根據程序中的數據生成上述圖片所示的t.xls文件
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
|
import java.io.File; import jxl.*; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class Writer_excel{ public static void main(String[] args) { //標題行 String title[]={ "角色" , "編號" , "功能名稱" , "功能描述" }; //內容 String context[][]={{ "UC11" , "設置課程" , "創建課程" }, { "UC12" , "設置學生名單" , "給出與課程關聯的學生名單" }, { "UC21" , "查看學生名單" , "" }, { "UC22" , "查看小組信息" , "顯示助教所負責的小組列表信息" } }; //操作執行 try { //t.xls為要新建的文件名 WritableWorkbook book= Workbook.createWorkbook( new File( "t.xls" )); //生成名為“第一頁”的工作表,參數0表示這是第一頁 WritableSheet sheet=book.createSheet( "第一頁" , 0 ); //寫入內容 for ( int i= 0 ;i< 4 ;i++) //title sheet.addCell( new Label(i, 0 ,title[i])); for ( int i= 0 ;i< 4 ;i++) //context { for ( int j= 0 ;j< 3 ;j++) { sheet.addCell( new Label(j+ 1 ,i+ 1 ,context[i][j])); } } sheet.addCell( new Label( 0 , 1 , "教師" )); sheet.addCell( new Label( 0 , 3 , "助教" )); /*合并單元格.合并既可以是橫向的,也可以是縱向的 *WritableSheet.mergeCells(int m,int n,int p,int q); 表示由(m,n)到(p,q)的單元格組成的矩形區域合并 * */ sheet.mergeCells( 0 , 1 , 0 , 2 ); sheet.mergeCells( 0 , 3 , 0 , 4 ); //寫入數據 book.write(); //關閉文件 book.close(); } catch (Exception e) { } } } |