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);
}
}
}
}
}
POI读取Excel表格测试
最新推荐文章于 2024-07-21 22:13:29 发布