【java编程语言之jxl操作Excel的导入和导出小实验】

jxl.jar是通过java操作excel表格的工具类库,JAVA开发过程中难免会涉及到Excel数据的导入和导出功能,导出功能就是把数据写入Excel的功能,导入功能就是文件上传然后读取Excel的功能。本实验讲解Excel数据的导入和导出功能.其他常用的导出功能有POI、JS以及设置Http响应头的方式。

实验效果图:

 

1、写入Excel(导出数据到Excel)

         private static void jxlCreateXls() {

try {

// 打开文件,创建一个工作薄,就是整个Excel文档

WritableWorkbook book = Workbook.createWorkbook(new File("测试.xls"));

// 生成名为“第一页”的工作表,参数0表示这是第一页,创建一个工作表

WritableSheet sheet = book.createSheet("StudentInfo", 0);

// 合并第一列第一行到第四列第一行的所有单元格

sheet.mergeCells(0, 0, 3, 0);

//设置第一行第一列格式

WritableFont font1 = new WritableFont(WritableFont.TIMES, 16,WritableFont.BOLD);

WritableCellFormat format1 = new WritableCellFormat(font1);

// 把水平对齐方式指定为居中

format1.setAlignment(jxl.format.Alignment.CENTRE);

// 把垂直对齐方式指定为居中

format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);

format1.setBackground(Colour.GOLD);

Label label1 = new Label(0, 0, "学生基本信息表");

label1.setCellFormat(format1);

sheet.addCell(label1);

//设置表格每一列的Label标题

format1 = new WritableCellFormat(new WritableFont(WritableFont.TIMES,12, WritableFont.BOLD));

label1 = new Label(0, 1, "Id",format1);

Label label2 = new Label(1, 1, "name",format1);

Label label3 = new Label(2, 1, "age",format1);

Label label4 = new Label(3, 1, "address",format1);

// 将定义好的单元格添加到工作表中

sheet.addCell(label1);

sheet.addCell(label2);

sheet.addCell(label3);

sheet.addCell(label4);

//设置表格内容,正式环境可以使用for循环写入

label1 = new Label(0, 2, "001");

label2 = new Label(1, 2, "张三");

label3 = new Label(2, 2, "24");

label4 = new Label(3, 2, "广东深圳");

// 将定义好的单元格添加到工作表中

sheet.addCell(label1);

sheet.addCell(label2);

sheet.addCell(label3);

sheet.addCell(label4);

// 写入数据并关闭文件

book.write();

book.close();

System.out.println("-------OK-----");

} catch (Exception e) {

e.printStackTrace();

}

}

2、读取Excel数据

private static void jxlReadXls() {

try

{

Workbook book=

Workbook.getWorkbook(new File("测试.xls"));

//获得第一个工作表对象

Sheet sheet=book.getSheet(0);

//得到第一列第一行的单元格

Cell cell1=sheet.getCell(0,0);

String result=cell1.getContents();

System.out.println("得到第一列第一行的单元格:"+result);

int rows = sheet.getRows();

int cols = sheet.getColumns();

System.out.println("rows="+rows+" ,cols="+cols);

for (int i = 1; i < rows; i++) {

for (int k = 0;k < cols-1; k++) {

cell1=sheet.getCell(k,i);

result=cell1.getContents();

System.out.print(result +"  ");

}

System.out.println();

}

book.close();

}catch(Exception e)

{

e.printStackTrace();

}

}

猜你喜欢

转载自gaojingsong.iteye.com/blog/2324506