java对excel表的操作,jxl的基本操作

来源:互联网 发布:淘宝用户名起名大全 编辑:程序博客网 时间:2024/06/07 12:25

jxl相对poi消耗内存更少,如果只是读写excel,用jxl,如果对excel表格有很多复杂的其他操作,用poi



基本读写:


读取:1.选择excel文件 Workbook wb = Workbook.getWorkbook(new File("....."));

2.选择工作本     

     Sheet st = wb.getSheet(参数为int类型,从0开始。表示第几个笔记本);

 3.选择具体的列,行

Cell c = st.getCell(参数1:列号。参数2:行号。);

4.获取内容

String str = c.getContents();

需要主要的是:只能读取excel 2003版本,2003以下未测试,2003以上版本读取会报错

Unable to recognize OLE stream


具体代码如下:
Workbook wb = Workbook.getWorkbook(new File("E:\\test\\test.xls"));//这里只能读取excel 2003
Sheet st = wb.getSheet(0);
Cell c = st.getCell(0, 0);
String s = c.getContents();
System.out.println(s);

写入excel:
1.创建新文件写入:
创建新的excel表
WritableWorkbook wwb = Workbook.createWorkbook(new File("..."));
创建新的工作本
WritableSheet ws = wwb.createSheet("工作本",0);
创建新的单元格,并指定行列  参数1列,参数2行,参数3内容
Label la = new Label(0,0,"第一列,第一行");
用工作本加入内容
ws.addCell(la);
写入   wwb.write();
关闭流   wwb.close();
2:追加新内容到源文件(这里我也不知道是不是追加的,好像是读取源文件
并复制,然后创建新文件覆盖源文件,将源内容加进去并追加新内容)
将第一个参数路径和第二个参数路径指向同一个地方就有在源文件追加的效果
WritableWorkbook wwb = Workbook.createWorkbook(第一个参数是写入文件的路径,
第二个参数是Workbook对象);
Label la = new Label(2,4,"第2列,第4行");
WritableSheet ws = wwb.getSheet(0);
ws.addCell(la);
wwb.write();
wwb.close();


源代码   做参考:
---------------------------------------------------------------------------------------------
//读取:
Workbook wb = Workbook.getWorkbook(new File("E:\\test\\test.xls"));//这里只能读取excel 2003
Sheet st = wb.getSheet(0);
Cell c = st.getCell(0, 1);
String s = c.getContents();
System.out.println(s);
//写入:
//1:直接创建新的excel
WritableWorkbook wwb = Workbook.createWorkbook(new File("E:\\test\\abc.xls"));
WritableSheet ws = wwb.createSheet("工作本", 0);
Label la = new Label(0,0,"第一个单元格");
ws.addCell(la);
wwb.write();
wwb.close();
//2:选择已有的excel  写入
WritableWorkbook wwb = Workbook.createWorkbook(new File("E:\\test\\abc.xls"),wb);
Label la = new Label(1,0,"第二列第一行");
WritableSheet ws = wwb.getSheet(0);
ws.addCell(la);
wwb.write();
wwb.close();


//字体格式
//设置字体
Workbook wb1 = getwb();
Sheet st1 = wb1.getSheet(0);
Cell cell = st1.getCell(0,0);
CellFormat cf = cell.getCellFormat();
//获取这一个cell格的格式
        WritableCellFormat cellFormat1 = new WritableCellFormat(cf); 
//设置到新的标签里
Label la = new Label(1,4,u.getName(),cellFormat1);
1 0
原创粉丝点击