(轉)JXL操作excel代碼實例
Jxl使用Jxl是對excel操作的一組API,下面就通過兩個例子介紹一下它:
1
public String readExcel(){
2
try {
3
//選取指定的excel
4
Workbook workbook = Workbook.getWorkbook(new File("text.xls"));
5
//選取制定的sheet
6
Sheet sheet = workbook.getSheet(0);
7
//選取指定的cell
8
//遍歷循環得到所要的cell值
9
for(int j = 0 ;j<sheet.getRows() ; j++)
10
for(int i = 0 ;i<sheet.getColumns();i++){
11
Cell cell = sheet.getCell(i,j);
12
//獲取該cell的值
13
String var1 = cell.getContents();
14
//打印輸出該值
15
System.out.println(var1);
16
}
17
} catch (BiffException e) {
18
e.printStackTrace();
19
} catch (IOException e) {
20
e.printStackTrace();
21
}
22
return null;
23
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

所有的參數全部是(column,row)
workbook.getSheet(0);參數代表sheet的名,0代表第一個sheet,可以去該sheet的全名
用getRows()&getColumn()取得的列數和行數是系統自動為你取得,即excel中實際使用的行數和列數,它包括,人為自定義的空行和空列,它也會取到,請使用是注意。
1
/**
2
* 測試jxl寫入excel
3
* @author wanggang
4
* @param null
5
* @throws WriteException
6
* @throws RowsExceededException
7
*/
8
public String writeExcel()throws IOException, RowsExceededException, WriteException{
9
//創建Excel
10
WritableWorkbook workbook = Workbook.createWorkbook(new File("write.xls"));
11
//創建sheet
12
WritableSheet sheet1 = workbook.createSheet("測試用excel", 1);
13
WritableSheet sheet2 = workbook.createSheet("測試excel", 0);
14
/**
15
* 總結:createSheet("sheetName",index);
16
* @param index表示該sheet是第幾個sheet
17
*
18
*/
19
//開始創建cell
20
21
//WritableCell cell
22
for(int i = 0 ; i < 10 ;i++){
23
sheet1.addCell(new jxl.write.Label(1, i, "書目ID"));
24
/**
25
* 總結:addCell(new Lable(column,row,"content"));
26
*
27
*/
28
}
29
workbook.write();
30
workbook.close();
31
32
//sheet.addCell(new jxl.write.Label(0, 1, "書目ID"));
33
return null;
34
35
}

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

WritableSheet要用接口定義,不能用實體類,不然不能進行寫操作
總結:
1、Workbook.createWorkbook(new File("write.xls"));和Workbook.getWorkbook(new File("text.xls"));
中new File(“name”);都要包含相對路徑。
以下轉自:http://zhangzcz1999.javaeye.com/blog/254736
1
import java.io.File;
2
import java.io.FileInputStream;
3
import java.io.InputStream;
4
5
import jxl.Cell;
6
import jxl.CellType;
7
import jxl.Sheet;
8
import jxl.Workbook;
9
import jxl.write.Label;
10
11
public class Test {
12
13
public static void main(String[] args) {
14
jxl.Workbook rwb = null;
15
try {
16
// 構建Workbook對象 只讀Workbook對象
17
// 直接從本地文件創建Workbook
18
// 從輸入流創建Workbook
19
InputStream is = new FileInputStream("Book.xls");
20
rwb = Workbook.getWorkbook(is);
21
// Sheet(術語:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中
22
// Sheet的下標是從0開始的
23
// 獲取第一張Sheet表
24
Sheet rs = rwb.getSheet(0);
25
// 獲取Sheet表中所包含的總列數
26
int rsColumns = rs.getColumns();
27
// 獲取Sheet表中所包含的總行數
28
int rsRows = rs.getRows();
29
// 獲取指這下單元格的對象引用
30
for (int i = 0; i < rsRows; i++) {
31
for (int j = 0; j < rsColumns; j++) {
32
Cell cell = rs.getCell(j, i);
33
System.out.print(cell.getContents() + " ");
34
}
35
System.out.println();
36
}
37
// 利用已經創建的Excel工作薄創建新的可寫入的Excel工作薄
38
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(
39
"Book2.xls"), rwb);
40
// 讀取第一張工作表
41
jxl.write.WritableSheet ws = wwb.getSheet(0);
42
43
// 獲取第一個單元格對象
44
jxl.write.WritableCell wc = ws.getWritableCell(0, 0);
45
// 決斷單元格的類型,做出相應的轉化
46
if (wc.getType() == CellType.LABEL) {
47
Label l = (Label) wc;
48
l.setString("The value has been modified.");
49
}
50
// 寫入Excel對象
51
wwb.write();
52
wwb.close();
53
54
} catch (Exception e) {
55
e.printStackTrace();
56
} finally {
57
// 操作完成時,關閉對象,翻譯占用的內存空間
58
rwb.close();
59
}
60
61
}
62
63
64
}

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

56

57

58

59

60

61

62

63

64

posted on 2009-10-28 21:41 2008iava 閱讀(643) 評論(0) 編輯 收藏 所屬分類: java excel