在Java中,我們經(jīng)常需要將數(shù)據(jù)導(dǎo)出到Excel中以便進(jìn)行進(jìn)一步的處理或可視化展示。幸運(yùn)的是,Java中有很多庫(kù)可以用來(lái)處理Excel文件,比如Apache POI。
// 導(dǎo)出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(); }
如上所示,我們創(chuàng)建了一個(gè)名為“Person List”的表格,并將人員列表數(shù)據(jù)導(dǎo)出到其中。表格的第一行是表頭,其中包含了每一列的名稱(chēng)。然后我們遍歷人員列表,將每個(gè)人的數(shù)據(jù)逐一寫(xiě)入每一行中。
除了導(dǎo)出數(shù)據(jù),我們還可以通過(guò)Java將Excel文件中的數(shù)據(jù)讀入到程序中進(jìn)行處理。下面是一個(gè)簡(jiǎn)單的示例:
// 讀取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”的表格,并將其轉(zhuǎn)換為一個(gè)Person對(duì)象列表。這里假設(shè)人員列表的第一行是表頭,而第二行開(kāi)始才是人員數(shù)據(jù)。
總之,Java和Excel之間的相互轉(zhuǎn)換非常方便。無(wú)論是導(dǎo)出數(shù)據(jù)還是讀取數(shù)據(jù),只需要使用適當(dāng)?shù)膸?kù)和API,即可完成相應(yīng)的操作。