使用Java讀取、編寫、確認(rèn)Excel文檔
1 介紹
在當(dāng)今數(shù)據(jù)驅(qū)動(dòng)的世界中,通過編程方式處理Excel文件至關(guān)重要。Java提供了強(qiáng)大的庫(kù),能夠輕松讀取、寫入和驗(yàn)證XLSX文件。在本文中,我們將使用Java代碼示例探討這種簡(jiǎn)化的方法來執(zhí)行這些操作。
2 讀取XLSX文件
在Java中讀取XLSX文件的數(shù)據(jù),我們可以使用Apache POI庫(kù)。以下是一個(gè)簡(jiǎn)化的示例:
import org.apache.poi.ss.usermodel.*;
import java.io.FileInputStream;
import java.io.IOException;
public class XLSXReaderExample {
public static void main(String[] args) {
try {
FileInputStream file = new FileInputStream("path/to/your/sample.xlsx");
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
for (Cell cell : row) {
String value = cell.toString();
System.out.print(value + "\t");
}
System.out.println();
}
workbook.close();
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
本示例使用Apache POI從XLSX文件中讀取數(shù)據(jù)。我們打開文件,創(chuàng)建一個(gè)Workbook對(duì)象,然后訪問第一個(gè)工作表。接著,我們遍歷每一行和每個(gè)單元格,獲取單元格的值并打印出來。
3 寫入XLSX文件
要將數(shù)據(jù)寫入XLSX文件,我們可以繼續(xù)使用Apache POI庫(kù)。以下是一個(gè)簡(jiǎn)化的示例:
import org.apache.poi.ss.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class XLSXWriterExample {
public static void main(String[] args) {
try {
Workbook workbook = WorkbookFactory.create(true);
Sheet sheet = workbook.createSheet("Sheet1");
Row headerRow = sheet.createRow(0);
Cell headerCell = headerRow.createCell(0);
headerCell.setCellValue("Name");
Row dataRow = sheet.createRow(1);
Cell dataCell = dataRow.createCell(0);
dataCell.setCellValue("John Doe");
FileOutputStream file = new FileOutputStream("path/to/your/output.xlsx");
workbook.write(file);
workbook.close();
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在這個(gè)簡(jiǎn)化的示例中,我們創(chuàng)建一個(gè)新的Workbook,添加一個(gè)工作表,并創(chuàng)建一個(gè)標(biāo)題行和數(shù)據(jù)行。我們?yōu)槊恳恍性O(shè)置單元格的值,并使用FileOutputStream將工作簿保存到文件中。
4 驗(yàn)證XLSX文件
驗(yàn)證XLSX文件可以確保數(shù)據(jù)滿足特定的標(biāo)準(zhǔn)。以下是使用Apache POI執(zhí)行驗(yàn)證的簡(jiǎn)化示例:
import org.apache.poi.ss.usermodel.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class XLSXValidationExample {
public static void main(String[] args) {
try {
FileInputStream file = new FileInputStream("path/to/your/sample");
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheetAt(0);
DataValidationHelper validationHelper = sheet.getDataValidationHelper();
DataValidationConstraint constraint = validationHelper.createNumericConstraint(
OperatorType.BETWEEN, "1", "100");
CellRangeAddressList addressList = new CellRangeAddressList(1, sheet.getLastRowNum(), 0, 0);
DataValidation validation = validationHelper.createValidation(constraint, addressList);
validation.setShowErrorBox(true);
sheet.addValidationData(validation);
FileOutputStream output = new FileOutputStream("path/to/your/validated_data.xlsx");
workbook.write(output);
workbook.close();
file.close();
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在這個(gè)簡(jiǎn)化示例中,我們讀取一個(gè)XLSX文件,創(chuàng)建一個(gè)數(shù)值約束以限制值在1到100之間,并將其應(yīng)用于一組單元格。然后,我們將經(jīng)過驗(yàn)證的數(shù)據(jù)保存到一個(gè)新的XLSX文件中。
5 總結(jié)
使用像Apache POI這樣的庫(kù)可以輕松處理Java中的XLSX文件。在本文中,我們探討了一種簡(jiǎn)化的方法,使用Java代碼示例來讀取、寫入和驗(yàn)證XLSX文件。通過利用這些功能,您可以自動(dòng)化Excel相關(guān)任務(wù)并有效地處理Java應(yīng)用程序中的數(shù)據(jù)。