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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
package
com.jExcelApi.test;
import
java.io.File;
import
java.io.IOException;
import
jxl.Workbook;
import
jxl.read.biff.BiffException;
import
jxl.write.Label;
import
jxl.write.Number;
import
jxl.write.WritableSheet;
import
jxl.write.WritableWorkbook;
import
jxl.write.WriteException;
/**
* JExcelApi修改Excel的内容
* @author kanjingcai
* 注:必须加JexcelApi的jar执行
*/
public
class
UpdateExcel {
public
static
void
main(String args[]){
try
{
//获得创建名为Myfile.xls文件
Workbook workBook =Workbook.getWorkbook(
new
File(
"D:\\myFile.xls"
));
//拷贝一个副本,并指定到原文件
WritableWorkbook copy1 =Workbook.createWorkbook(
new
File(
"D:\\myFile.xls"
),workBook);
//拷贝一个副本名为新的output.xls
// WritableWorkbook copy2 =Workbook.createWorkbook(new File("D:\\output.xls"),workBook);
//或者直接修改D:\\myFile.xls文件
WritableSheet sheet1 = copy1.getSheet(
0
);
//新的excel文件,拷贝第一页工作表到output.xls文件中,(0)代表第一页
// WritableSheet sheet2 =copy2.getSheet(0);
//获得第0行,第二列数据(0,2)
// WritableCell cell1 =sheet1.getWritableCell(0,2);
//新的excel文件,获得第0行,第二列数据(0,2)
// WritableCell cell2 =sheet2.getWritableCell(0,2);
Label label =
new
Label(
0
,
2
,
"新的纪录"
);
sheet1.addCell(label);
Number number =
new
Number(
3
,
4
,
3.141591
);
sheet1.addCell(number);
//修改获得第0行,第二列数据(0,2)的内容
//获得单元格的类型
/*
if(cell1.getType() ==CellType.LABEL){
Label l =(Label)cell1;
//修改的内容
l.setString("修改MyFile数据单元格");
} */
//修改数据,必须关闭文件
copy1.write();
copy1.close();
// copy2.write();
// copy2.close();
}
catch
(BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch
(IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch
(WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
|
本文转自茄子_2008博客园博客,原文链接:http://www.cnblogs.com/xd502djj/archive/2011/07/27/2117985.html,如需转载请自行联系原作者。