Java是一種廣泛使用的編程語言,常用于開發(fā)Web應用程序、桌面應用程序和移動應用程序。在Java中,我們經(jīng)常需要操作數(shù)據(jù),其中包括將數(shù)據(jù)導入和導出到電子表格中。在本文中,我們將探討使用Java來導入和導出Excel電子表格的方法。
導入Excel數(shù)據(jù)
首先,我們需要使用Apache POI庫來操作Excel文件。該庫是一個Java庫,可以處理Microsoft Office格式的文檔。以下是導入Excel電子表格數(shù)據(jù)的示例代碼:
FileInputStream file = new FileInputStream(new File("test.xlsx"));
Workbook workbook = new XSSFWorkbook(file);
Sheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch (cell.getCellType()) {
case NUMERIC:
System.out.print(cell.getNumericCellValue() + "t");
break;
case STRING:
System.out.print(cell.getStringCellValue() + "t");
break;
}
}
System.out.println("");
}
file.close();
在上面的代碼中,我們首先打開要讀取的Excel文件,然后使用XSSFWorkbook類創(chuàng)建一個工作簿對象。然后,我們使用getSheetAt()方法獲取第一個工作表,并使用逐行迭代器循環(huán)遍歷每一行。在循環(huán)每一行時,我們再使用逐列迭代器遍歷每一個單元格。根據(jù)單元格的類型,我們執(zhí)行相應的操作。
導出Excel數(shù)據(jù)
導出Excel數(shù)據(jù)需要將數(shù)據(jù)存儲在一個Java數(shù)據(jù)結構中,如ArrayList或HashMap。以下是導出Excel電子表格數(shù)據(jù)的示例代碼:
XSSFWorkbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
Map<String, Object[]> data = new HashMap<String, Object[]>();
data.put("1", new Object[] {"ID", "NAME", "LASTNAME"});
data.put("2", new Object[] {1, "John", "Doe"});
data.put("3", new Object[] {2, "Jane", "Doe"});
data.put("4", new Object[] {3, "Tom", "Doe"});
Set<String> keyset = data.keySet();
int rownum = 0;
for (String key : keyset) {
Row row = sheet.createRow(rownum++);
Object[] objArr = data.get(key);
int cellnum = 0;
for (Object obj : objArr) {
Cell cell = row.createCell(cellnum++);
if (obj instanceof String) {
cell.setCellValue((String) obj);
} else if (obj instanceof Integer) {
cell.setCellValue((Integer) obj);
}
}
}
FileOutputStream fileOut = new FileOutputStream("test.xlsx");
workbook.write(fileOut);
fileOut.close();
在上面的代碼中,我們首先創(chuàng)建一個工作簿對象,并使用createSheet()方法創(chuàng)建一個名為“Sheet1”的工作表。然后,我們將要導出的數(shù)據(jù)存儲在一個HashMap中。接下來,我們使用迭代器循環(huán)遍歷數(shù)據(jù),并在每一行中創(chuàng)建一個新行和單元格。我們使用setCellValue()方法將數(shù)據(jù)添加到單元格中。最后,我們將工作簿保存為一個名為“test.xlsx”的文件。