Java 读取 Excel 文件:从 "3124.xlsx" 中获取 "CardID" 和 "AttenDatatime" 列数据
您可以使用 Apache POI 库来读取 Excel 文件。首先,您需要在项目中添加 Apache POI 的依赖。\n\n然后,您可以使用以下代码来读取 Excel 文件中的列名 "CardID" 和 "AttenDatatime" 并生成 List<CardAttenDence>:\n\njava\nimport org.apache.poi.ss.usermodel.*;\nimport org.apache.poi.xssf.usermodel.*;\n\nimport java.io.FileInputStream;\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.Iterator;\nimport java.util.List;\n\npublic class ExcelReader {\n\n public static void main(String[] args) {\n String filePath = "C:\\Users\\25346\\Desktop\\3124.xlsx";\n List<CardAttenDence> cardAttenDenceList = readExcel(filePath);\n System.out.println(cardAttenDenceList);\n }\n\n public static List<CardAttenDence> readExcel(String filePath) {\n List<CardAttenDence> cardAttenDenceList = new ArrayList<>();\n\n try (FileInputStream fis = new FileInputStream(filePath);\n Workbook workbook = new XSSFWorkbook(fis)) {\n Sheet sheet = workbook.getSheetAt(0); // Assuming the data is in the first sheet\n\n // Find the column indexes for \"CardID\" and \"AttenDatatime\"\n Row headerRow = sheet.getRow(0);\n int cardIdColumnIndex = -1;\n int attenDatetimeColumnIndex = -1;\n Iterator<Cell> cellIterator = headerRow.cellIterator();\n while (cellIterator.hasNext()) {\n Cell cell = cellIterator.next();\n String columnName = cell.getStringCellValue();\n if (columnName.equals("CardID")) {\n cardIdColumnIndex = cell.getColumnIndex();\n } else if (columnName.equals("AttenDatatime")) {\n attenDatetimeColumnIndex = cell.getColumnIndex();\n }\n }\n\n // Read the data rows and create CardAttenDence objects\n Iterator<Row> rowIterator = sheet.iterator();\n rowIterator.next(); // Skip the header row\n while (rowIterator.hasNext()) {\n Row row = rowIterator.next();\n String cardId = row.getCell(cardIdColumnIndex).getStringCellValue();\n String attenDatetime = row.getCell(attenDatetimeColumnIndex).getStringCellValue();\n CardAttenDence cardAttenDence = new CardAttenDence(cardId, attenDatetime);\n cardAttenDenceList.add(cardAttenDence);\n }\n } catch (IOException e) {\n e.printStackTrace();\n }\n\n return cardAttenDenceList;\n }\n}\n\nclass CardAttenDence {\n private String cardId;\n private String attenDatetime;\n\n public CardAttenDence(String cardId, String attenDatetime) {\n this.cardId = cardId;\n this.attenDatetime = attenDatetime;\n }\n\n // getters and setters\n}\n\n\n请确保您已将 3124.xlsx 文件放置在 C:\\Users\\25346\\Desktop\\ 目录下,并且已添加 Apache POI 的依赖。运行 main 方法后,将打印出生成的 cardAttenDenceList。
原文地址: https://www.cveoy.top/t/topic/pKVi 著作权归作者所有。请勿转载和采集!