package util;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelUtil {
/**
* 读取
* @param pathUrl
* @return
* @throws FileNotFoundException
* @throws IOException
*/
public static List<Object[]> getExcelXls(String pathUrl,int cellnum) throws FileNotFoundException, IOException{
List<Object[]> list = new ArrayList<>();
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(pathUrl));
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {// 循环sheet
if(workbook.getSheetAt(i).getPhysicalNumberOfRows()>0){
HSSFSheet childSheet = workbook.getSheetAt(i);
int num = childSheet.getLastRowNum();
System.out.println("总行数="+num);
for (int j = 1; j < num+1; j++) {
if(childSheet.getRow(j).getCell(0).equals("") || childSheet.getRow(j).getCell(0)==null) break;
Object[] obj = new Object[cellnum];
for (int j2 = 0; j2 < cellnum; j2++) {
obj[j2]=publicExcel(childSheet.getRow(j).getCell(j2));
}
list.add(obj);
}
}
}
return list;
}
/**
* execl数据格式的转换
* @param cell
* @return
*/
public static String publicExcel( HSSFCell cell){
String value = "";
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_NUMERIC:
value = "" + cell.getNumericCellValue();
break;
case HSSFCell.CELL_TYPE_STRING:
value = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_BLANK:
;
break;
default:
}
return value;
}
}
Excel读取工具类(.xls)
最新推荐文章于 2024-08-01 04:47:42 发布
这是一个Java工具类,使用Apache POI库读取.xls格式的Excel文件。方法`getExcelXls`遍历所有工作表,读取每一行的数据并转换为Object数组,遇到空单元格则停止读取。`publicExcel`方法负责将不同类型的单元格内容转换为字符串。
摘要由CSDN通过智能技术生成