在Java中,我们经常需要将数据导出到Excel中以便进行进一步的处理或可视化展示。幸运的是,Java中有很多库可以用来处理Excel文件,比如Apache POI。
// 导出Excel文件示例public static void exportToExcel(List< Person> personList) throws IOException { Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Person List"); int rowNum = 0; Row headerRow = sheet.createRow(rowNum++); headerRow.createCell(0).setCellValue("Name"); headerRow.createCell(1).setCellValue("Age"); headerRow.createCell(2).setCellValue("Gender"); for (Person person : personList) { Row row = sheet.createRow(rowNum++); row.createCell(0).setCellValue(person.getName()); row.createCell(1).setCellValue(person.getAge()); row.createCell(2).setCellValue(person.getGender()); } FileOutputStream outputStream = new FileOutputStream("person_list.xlsx"); workbook.write(outputStream); outputStream.close(); }
如上所示,我们创建了一个名为“Person List”的表格,并将人员列表数据导出到其中。表格的第一行是表头,其中包含了每一列的名称。然后我们遍历人员列表,将每个人的数据逐一写入每一行中。
除了导出数据,我们还可以通过Java将Excel文件中的数据读入到程序中进行处理。下面是一个简单的示例:
// 读取Excel文件示例public static List< Person> readFromExcel(String filePath) throws IOException { Workbook workbook = new XSSFWorkbook(new FileInputStream(filePath)); Sheet sheet = workbook.getSheet("Person List"); List< Person> personList = new ArrayList< > (); int rowNum = 1; while (rowNum < = sheet.getLastRowNum()) { Row row = sheet.getRow(rowNum++); Person person = new Person(); person.setName(row.getCell(0).getStringCellValue()); person.setAge((int) row.getCell(1).getNumericCellValue()); person.setGender(row.getCell(2).getStringCellValue()); personList.add(person); } workbook.close(); return personList; }
以上代码片段读取名为“Person List”的表格,并将其转换为一个Person对象列表。这里假设人员列表的第一行是表头,而第二行开始才是人员数据。
总之,Java和Excel之间的相互转换非常方便。无论是导出数据还是读取数据,只需要使用适当的库和API,即可完成相应的操作。