美文网首页
java通过POI解析Excel

java通过POI解析Excel

作者: 烈格黑街 | 来源:发表于2018-03-05 23:33 被阅读0次

java解析Excel文件


一. 需要的第三方jar包

poi-3.17.jar 用于解析xls文件
poi-ooxml-3.17.jar 用于解析xlsx文件
junit-4.12.jar 单元测试工具

二. 使用方法

1. 主要用到的方法

a. 获取整个表格对象的方法

HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(file));

b. 获取sheet, row的方法都是使用迭代器
c. Cell对象常用方法:

  • 设置单元格格式 cell.setCellType(CellType.STRING);
2. 创建解析类 ExcelParse.java
package com.mtl.parse;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.junit.Test;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
public class ExcelParse {
    @Test
    public void myTest(){
        ExcelParse parse = new ExcelParse();
        parse.parseExcel(new File("D:\\MTL\\Desktop\\1.xls"));
    }
    /**
     * 解析xls文件
     * @param file
     */
    private void parseExcel(File file) {
        try {
            
            //获取整个表格文件对象
            HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(file));
            
            //获取所有sheet对象
            Iterator<Sheet> sheetIterator = workbook.sheetIterator();
            while (sheetIterator.hasNext()){
                Sheet sheet = sheetIterator.next();
                parseSheet(sheet);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**
     * 解析工作簿
     * @param sheet
     */
    private void parseSheet(Sheet sheet) {
        
        //获取所有Row对象
        Iterator<Row> iterator = sheet.iterator();
        while (iterator.hasNext()){
            parseRow(iterator.next());
        }
    }
    /**
     * 解析每行
     * @param next
     */
    private void parseRow(Row next) {
        
        //获取所有Cell对象取值
        Iterator<Cell> cellIterator = next.cellIterator();
        while (cellIterator.hasNext()){
            Cell cell = cellIterator.next();
            cell.setCellType(CellType.STRING);
            System.out.println("cell.value = " + cell.getStringCellValue());
        }
    }
}

相关文章

网友评论

      本文标题:java通过POI解析Excel

      本文链接:https://www.haomeiwen.com/subject/qyikfftx.html