java excel 表格操作_java 操作Excel表格

对于Excel表格的解析、生成,java在 org.apache.poi 包中已经封装好了,使用比较简单。

解析Excel:

首先将File文件转成InputStream

InputStream in = file.getInputStream();

然后创建表格对象,如果是2003版本的使用  HSSFWorkbook,2007以上的使用 XSSFWorkbook

HSSFWorkbook workbook = new HSSFWorkbook(in);//创建对Excel工作薄文件的引用

接下来获取工作表

HSSFSheet sheet = workbook.getSheetAt(0);//引用第一张工作表

获取行

HSSFRow row = sheet.getRow(0);//获取第一行

获取单元格

HSSFCell cell=row.getCell(0)//获取第一个单元格

获取单元格的内容

String str=cell.getStringCellValue();//文本

Double money=cell.getNumericCellValue();//数字

可以这样封装一下

private staticString getStringFormCell(HSSFCell cell) {try{returncell.getStringCellValue();

}catch(java.lang.IllegalStateException ex) {returnString.valueOf(cell.getNumericCellValue());

}

}

最后通过遍历行、列就能实现解析了

生成Excel:

生成excel要注意网页前端用ajax请求不能接收文件流,可以直接用超链接的方式直接GET调用后台方法,js的写法就是

window.location.href=XXXXX //请求地址

创建excel

HSSFWorkbook hssfWorkbook = newHSSFWorkbook();

HSSFSheet sheet= hssfWorkbook.createSheet(sheetName);//创建工作表

创建行

HSSFRow row = sheet.createRow(rowIndex);

创建一个单元格的格式(可选)

HSSFCellStyle style =hssfWorkbook.createCellStyle();

style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//创建一个居中格式

创建一个单元格并设置格式、值

HSSFCell cell =row.createCell(cellIndex);

cell.setCellValue(cellValue);

cell.setCellStyle(style);

最后设置请求参数并输出文件

response.setContentType("application/msexcel;charset=UTF-8");

response.addHeader("Content-Disposition","attachment;filename=" + new String((fileName+ ".xls").getBytes("GBK"), "ISO8859_1"));

OutputStream out=response.getOutputStream();

hssfWorkbook.write(out);

out.flush();

out.close();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值