读取Excel文件数据java方法

复制代码
/**
 * 读取Excel数据
 * @param filePath 文件路径
 * @param sheetName 工作表名称
 * @return 以List<List<String>>形式返回Excel中的数据
 * @throws IOException
 * @throws InvalidFormatException
 */
public static List<List<String>> readExcelData(String filePath, String sheetName) throws IOException, InvalidFormatException {
    List<List<String>> data = new ArrayList<>();
    // 创建工作簿
    Workbook workbook = WorkbookFactory.create(new File(filePath));
    // 获取工作表
    Sheet sheet = workbook.getSheet(sheetName);
    // 获取行数
    int rowCount = sheet.getPhysicalNumberOfRows();
    for (int i = 0; i < rowCount; i++) {
        Row row = sheet.getRow(i);
        if (row != null) {
            int columnCount = row.getLastCellNum();
            List<String> rowData = new ArrayList<>();
            for (int j = 0; j < columnCount; j++) {
                Cell cell = row.getCell(j);
                if (cell != null) {
                    // 根据单元格数据类型获取值
                    switch (cell.getCellType()) {
                        case STRING:
                            rowData.add(cell.getStringCellValue());
                            break;
                        case NUMERIC:
                            rowData.add(Double.toString(cell.getNumericCellValue()));
                            break;
                        case BOOLEAN:
                            rowData.add(Boolean.toString(cell.getBooleanCellValue()));
                            break;
                        case FORMULA:
                            rowData.add(cell.getCellFormula());
                            break;
                        default:
                            rowData.add("");
                    }
                } else {
                    rowData.add("");
                }
            }
            data.add(rowData);
        }
    }
    return data;
}
复制代码

 

posted @   JERRYID  阅读(1048)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示