POI读取Excel表格测试

来源:互联网 发布:中国古代星象学 知乎 编辑:程序博客网 时间:2024/05/20 05:09
package com.test;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.HashMap;import java.util.Map;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Sheet;import org.apache.poi.ss.usermodel.Workbook;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import org.junit.Test;/** *  * @ClassName: POITest * @Description: poi测试 * @author cheng * @date 2017-3-31 上午10:50:36 */public class POITest {    /**     *      * @throws IOException     * @throws FileNotFoundException     * @Title: poiTest     * @Description:poi测试导入     */    @Test    public void poiTest() throws FileNotFoundException, IOException {        String path = "d:/问题件.xls";        Workbook workbook = null;// 工作簿        try {            // 2007            workbook = new XSSFWorkbook(path);        } catch (Exception ex) {            // 2003            workbook = new HSSFWorkbook(new FileInputStream(path));        }        // 获取sheet的数目        int sheetNumber = workbook.getNumberOfSheets();        System.out.println("共有" + sheetNumber + "个sheet");        for (int i = 0; i < sheetNumber; i++) {            System.out.println("第" + (i + 1) + "个sheet");            // 得到Excel工作表对象            Sheet sheet = workbook.getSheetAt(i);            // 获取有效的行数            int rowNumber = sheet.getPhysicalNumberOfRows();            System.out.println("共有" + rowNumber + "行");            // 获得sheet总行数            int rowCount = sheet.getLastRowNum();            System.out.println("A2:" + rowCount + "行");            for (int j = 0; j < rowNumber; j++) {                Map exMap = new HashMap();                System.out.println("第" + (j + 1) + "行");                // 得到Excel工作表的行                Row row = sheet.getRow(j);                // 取得一行的有效单元格个数                int cellNumber = row.getPhysicalNumberOfCells();                System.out.println("共有" + cellNumber + "个单元格");                // 获得本行中单元格的个数                int cellCount = row.getLastCellNum();                System.out.println("A2:" + cellCount + "个单元格");                for (int k = 0; k < cellNumber; k++) {                    // 得到Excel工作表指定行的单元格                    Cell cell = row.getCell(k);                    System.out.println("第" + (k + 1) + "个单元格数据:" + cell);                }            }        }    }}
0 0
原创粉丝点击