zoukankan      html  css  js  c++  java
  • Java学习---Excel读写操作

    1.1.1. 简介 Apache POI

    使用Apache POI 完成Excel读写操作

    Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。

    http://poi.apache.org/ 下载POI的jar包 ,包括以下内容

    wpsDA1A.tmp[1]

    Excel 2003之前 xls 格式文件, Excel2007 文件格式 xlsx ,如果解析Excel,先分清Excel文件版本 ,如果2003之前, 使用HSSF API进行解析 、 如果 2007 Excel 使用 XSSF 进行解析

    今天重点学习: HSSF 的 Excel解析 (针对Excel 2003 之前版本 )

    下载 POI 3.9 的jar 包,完成Excel 读写操作

    wpsDA1B.tmp[1]

    docs  POI使用文档 (javadoc文档、 规范文档)

    学习API : 推荐 POI3.5_HSSF_和XSSF_Excel操作快速入门手册.pdf

    lib :相关jar包

    ooxml-lib : 解析2007 Office版本文件jar 包

    开发POI 最简单方式,导入 poi-3.9-20121203.jar 一个jar包就可以了

    1.1.2.使用POI 读写Excel

    参考: “POI整理.doc” 进行企业开发

    编写代码,完成Excel解析和生成

    解析步骤:

    Excel文件 ---- HSSFWorkbook 工作薄对象 ---- Sheet --- Row 行--- Cell 单元格

    解析时要注意,如果Excel单元格的数据,使用numeric 格式保存,不能使用 getStringCellValue 进行读取 , 使用 getNumericCellValue 进行读取

    可以在Excel 设置单元格 数据保存格式 为文本类型,使用 getStringCellValue 进行读取

    wpsDA2C.tmp[1]

    读取一个Excel文件

    // 1、 获得 HSSFWorkbook (针对 xls格式文件 )
    HSSFWorkbook hssfWorkbook = new HSSFWorkbook(new FileInputStream("info.xls"));
    // 2、获得要解析sheet
    HSSFSheet sheet = hssfWorkbook.getSheet("Sheet1"); // 通过名称获得Sheet
    HSSFSheet sheet2 = hssfWorkbook.getSheetAt(0);// 获得第一个Sheet,通过下标获得
    // 3、解析Sheet中每一行
    for (Row row : sheet) {
    // 遍历 sheet中每一行
    // 4、 打印行 中单元格数据
    for (Cell cell : row) {
    // 判断单元格数据类型
    if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
    System.out.println(cell.getStringCellValue());
    } else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
    System.out.println(cell.getNumericCellValue());
    }
    }
    // 打印指定单元格的值
    System.out.println(row.getCell(1).getStringCellValue());// 打印每行第二个单元格的内容
    }

    生成一个Excel文件 :

    // 写Workbook 工作薄 --- 写Sheet --- 写Row 行 --- 写Cell 单元格 
    // 1、 创建 一个空的工作薄
    HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
    // 2、 在工作薄建立 Sheet
    HSSFSheet sheet = hssfWorkbook.createSheet("数据信息");
    // 3、 向sheet写入行数据
    HSSFRow row = sheet.createRow(0);// 创建第一行数据
    // 4、 向row中单元格进行数据输出
    row.createCell(0).setCellValue("产品");
    row.createCell(1).setCellValue("价格");
    // 5、 将Excel 数据输出到硬盘上
    hssfWorkbook.write(new FileOutputStream("c:/test.xls"));
    

    更多学习参考

    点击下载

  • 相关阅读:
    利用string 字符串拷贝
    新手学vim配置
    进程描述符task_struct
    并查集
    堆Heap
    Bitset位图
    排序
    sql时间查询
    javascript 中的 call
    css 笔记——设置禁用中文输入法
  • 原文地址:https://www.cnblogs.com/ftl1012/p/9357200.html
Copyright © 2011-2022 走看看