zoukankan      html  css  js  c++  java
  • 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 static String getStringFormCell(HSSFCell cell) {
            try {
                return cell.getStringCellValue();
            } catch (java.lang.IllegalStateException ex) {
                return String.valueOf(cell.getNumericCellValue());
            }
        }

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

    生成Excel:

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

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

    创建excel

    HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
    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();
  • 相关阅读:
    114.完全背包【恰好装满完全背包
    整数划分类型题目
    三目运算符
    关于 xk 的位数。
    多重背包二进制原理拆分问题
    2016.4.2 讲课笔记(动态规划)
    二叉树(2)二叉树创建的3种方法,二叉树的递归遍历,二叉树的销毁
    二叉树(1)已知某2种排序方式,创建这个二叉树并按第3种方式排序
    C++知识点总结(二)
    5款优秀的开源克隆软件
  • 原文地址:https://www.cnblogs.com/GuoJunwen/p/7773505.html
Copyright © 2011-2022 走看看