java excel 表格操作_JAVA操作Excel表格

一、JExcelApi 可以从文件或者输入流进行读取操作。

基本步骤:

1.由文件或者输入流创建一个workbook;

2.由workbook的getSheet()方法创建一个工作表Sheet(两种方法,下标和名字,下标从0开始);

3.由Sheet的getCell(x,y)方法得到某个单元格,cell对象可以读取它的类型(getType)、内容(getContents)等。

读取excel表格内容的代码如下:

1 packagecom.test;2

3 importjava.io.File;4 importjava.io.IOException;5

6 importjxl.Cell;7 importjxl.Sheet;8 importjxl.Workbook;9 importjxl.read.biff.BiffException;10

11

12

13 public classExcelRead {14

15 /**

16 *@paramargs17 */

18 public static voidmain(String[] args) {19 File f = new File("F:/shar/test/test.xls");20 try{21 Workbook book = Workbook.getWorkbook(f);//

22 Sheet sheet = book.getSheet(0); //获得第一个工作表对象

23 for (int i = 0; i < sheet.getRows(); i++) {24 for (int j = 0; j < sheet.getColumns(); j++) {25 Cell cell = sheet.getCell(j, i); //获得单元格

26 System.out.print(cell.getContents() + " ");27 //得到单元格的类型28 //System.out.println(cell.getType());

29 }30 System.out.print("\n");31 }32 } catch(BiffException e) {33 //TODO Auto-generated catch block

34 e.printStackTrace();35 } catch(IOException e) {36 //TODO Auto-generated catch block

37 e.printStackTrace();38 }39 }40

41 }

二、创建excel表格的基本步骤:

1.创建一个WritableWorkbook对象(用Workbook的createWorkbook方法创建),要指定创建一个文件;

2.创建一个工作表WritableSheet(用workbook对象的createSheet方法创建),注意要是WritableSheet,说明可以对其写;

3.创建单元格,再将单元格加入到sheet里;

4.执行workbook的write()方法进行写操作最后关闭workbook。

创建表格的具体代码如下:

1 packagecom.test;2

3 importjava.io.File;4 importjava.io.IOException;5

6 importjxl.Workbook;7 importjxl.write.Label;8 importjxl.write.Number;9 importjxl.write.WritableSheet;10 importjxl.write.WritableWorkbook;11 importjxl.write.WriteException;12 importjxl.write.biff.RowsExceededException;13

14 public classExcelWrite {15

16 /**

17 *@paramargs18 *@throwsIOException19 *@throwsWriteException20 *@throwsRowsExceededException21 */

22 public static void main(String[] args) throwsIOException, RowsExceededException, WriteException {23 //TODO Auto-generated method stub

24 WritableWorkbook workbook = Workbook.createWorkbook(new File("F:/shar/test/write1.xls"));25 //生成第一页的工作表,参数为0说明是第一页

26 WritableSheet sheet = workbook.createSheet("第一页", 0);27 //指明单元格的位置是第一行第一列,第一个参数为列

28 Label type = new Label(0,0,"通话类型");29 Label poneNo = new Label(1,0,"对方号码");30 Label addr = new Label(2,0,"通话地");31 Label time = new Label(3,0,"通话时长");32 //将单元格加到工作表中

33 sheet.addCell(type);34 sheet.addCell(poneNo);35 sheet.addCell(addr);36 sheet.addCell(time);37 //数字类型38 //jxl.write.Number number = new jxl.write.Number(0,1,789.123);

39 Label type1 = new Label(0,1,"主叫");40 Label poneNo1 = new Label(1,1,"18711370881");41 Label addr1 = new Label(2,1,"湖南株洲");42 Label time1 = new Label(3,1,"25");43 sheet.addCell(type1);44 sheet.addCell(poneNo1);45 sheet.addCell(addr1);46 sheet.addCell(time1);47 workbook.write();48 workbook.close();49 }50

51 }

三、对原有的excel文件进行修改

基本步骤:

1.获得要修改的文件;

2.为要修改的文件创建一个副本;

3.对副本进行操作;

4.讲副本写到原有的文件中。

具体代码如下:

1 packagecom.test;2

3 importjava.io.File;4 importjava.io.IOException;5

6 importjxl.Workbook;7 importjxl.read.biff.BiffException;8 importjxl.write.Label;9 importjxl.write.WritableSheet;10 importjxl.write.WritableWorkbook;11 importjxl.write.WriteException;12 importjxl.write.biff.RowsExceededException;13

14 public classExcelUpdate {15

16 /**

17 *@paramargs18 *@throwsIOException19 *@throwsBiffException20 *@throwsWriteException21 *@throwsRowsExceededException22 */

23 public static void main(String[] args) throwsBiffException, IOException, RowsExceededException, WriteException {24 //TODO Auto-generated method stub25 //获得文件

26 Workbook wb = Workbook.getWorkbook(new File("F:/shar/test/write.xls"));27 //打开文件的一个副本,并且指定数据写回到原文件

28 WritableWorkbook workbook = Workbook.createWorkbook(new File("F:/shar/test/write.xls"),wb);29 //添加一个工作表

30 WritableSheet sheet = workbook.createSheet("第二页", 1);31 //添加一个单元格

32 Label label = new Label(0,0,"第二页测试数据");33 sheet.addCell(label);34 workbook.write();35 workbook.close();36 }37

38 }

另可以设置单元格的字体以及对齐方式,代码如下:

1 packagecom.test;2

3 importjava.io.File;4 importjava.io.IOException;5

6 importjxl.Workbook;7 importjxl.format.Alignment;8 importjxl.format.VerticalAlignment;9 importjxl.write.Label;10 importjxl.write.Number;11 importjxl.write.WritableCellFormat;12 importjxl.write.WritableFont;13 importjxl.write.WritableSheet;14 importjxl.write.WritableWorkbook;15 importjxl.write.WriteException;16 importjxl.write.biff.RowsExceededException;17

18 public classFontFormat {19

20 /**

21 *@paramargs22 *@throwsIOException23 *@throwsWriteException24 *@throwsRowsExceededException25 */

26 public static void main(String[] args) throwsIOException, RowsExceededException, WriteException {27 //TODO Auto-generated method stub

28 WritableWorkbook workbook = Workbook.createWorkbook(new File("F:/shar/test/font.xls"));29 //生成第一页的工作表,参数为0说明是第一页

30 WritableSheet sheet = workbook.createSheet("第一页", 0);31

32 //设置字体格式(字体为TIMES,大小为16磅,加粗)

33 WritableFont font = new WritableFont(WritableFont.TIMES,16,WritableFont.BOLD);34 WritableCellFormat format = newWritableCellFormat(font);35 //设置数据的对齐方式36 //水平居中

37 format.setAlignment(Alignment.CENTRE);38 //垂直居中

39 format.setVerticalAlignment(VerticalAlignment.CENTRE);40 //设置自动还行

41 format.setWrap(true);42

43 //指明单元格的位置是第一行第一列,第一个参数为列

44 Label type = new Label(0,0,"通话类型",format);45 //将单元格加到工作表中

46 sheet.addCell(type);47 //数字类型48 //jxl.write.Number number = new jxl.write.Number(0,1,789.123);

49 Label type1 = new Label(0,1,"主叫");50 sheet.addCell(type1);51 workbook.write();52 workbook.close();53 }54

55 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值