java实现excel的导出

java Excel的三种解析

 

1.POI 是apche软件基金会的开源函数库 提供api对microsoft office格式档案读写功能

 

2.HSSFF 纯java代码读取 写入 修改 EXcel文件 (2007以下版本) 还要xssf (对2007以上版本的excel) HWPF等(对word)

 

3.itext.jar 可以生成pdf文件

 

4. JXL 开源项目 可以对excel进行创建 修改 更新 包括设置字体 颜色 背景等等

 

5.fastExcel 纯java开发的excel文件读写组件 支持excel97-2003文件格式 只能读取单元格字符信息 但是只需要很小的内存 效率高

 

 

主要是POI 和JXL

 

 

POI操作效率高 但是操作复杂 支持公式 宏

 

JXL效率低 但是操作简单 格式不如POI强大

 

maven引入三方

 

net.sourceforge.jexcelapi

jxl

2.6.12

 

 

//创建工作薄

WritableWorkbook workbook = Workbook.createWorkbook(out);

 

//创建sheet

WritableSheet sheet=workbook.createSheet("sheet1",0);

 

//单元格

Label label=null;

 

//数组存表头

String[] title={"id","name","sex"};

 

//设置列名

for(int i=0;i

label=new Label(i,0,title[i]);

sheet.addCell(label);

 

}

 

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

//第一列 new Label(0,i,"a"); 0是列 i是行

label =new Label(0,i,"a");

sheet.addCell(label);

//第二列

label =new Label(1,i,"user");

sheet.addCell(label);

//第三列

label =new Label(2,i,"男");

sheet.addCell(label);

 

}

 

//写入数据

workbook.write();

workbook.close();

 

 

 

如果要访问url就能下载文件 那么返回到要是一个流

 

@GetMapping(value = "excel")

public void excel(HttpServletResponse response) throws IOException, WriteException {

 

response.setContentType("application/octet-stream");

response.setHeader("Content-Disposition", "attachment;filename=car_test.xls");

ServletOutputStream out=response.getOutputStream();

 

 

//创建工作薄

WritableWorkbook workbook = Workbook.createWorkbook(out);

 

//创建sheet

WritableSheet sheet=workbook.createSheet("sheet1",0);

 

//单元格

Label label=null;

 

//数组存表头

String[] title={"id","name","sex"};

 

//设置列名

for(int i=0;i

label=new Label(i,0,title[i]);

sheet.addCell(label);

 

}

 

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

//第一列 new Label(0,i,"a"); 0是列 i是行

label =new Label(0,i,"a");

sheet.addCell(label);

//第二列

label =new Label(1,i,"user");

sheet.addCell(label);

//第三列

label =new Label(2,i,"男");

sheet.addCell(label);

 

}

 

//写入数据

workbook.write();

workbook.close();

out.flush();

out.close();

 

 

}

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(java)