使用Java读取、编写、确认Excel文档
本文通过示例介绍Java和Apache POI库处理XLSX文件的方法,帮助你自动化Excel相关任务,并有效处理Java应用程序中的数据。
1 介绍
在当今数据驱动的世界中,通过编程方式处理Excel文件至关重要。Java提供了强大的库,能够轻松读取、写入和验证XLSX文件。在本文中,我们将使用Java代码示例探讨这种简化的方法来执行这些操作。
2 读取XLSX文件
在Java中读取XLSX文件的数据,我们可以使用Apache POI库。以下是一个简化的示例:
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文件中读取数据。我们打开文件,创建一个Workbook对象,然后访问第一个工作表。接着,我们遍历每一行和每个单元格,获取单元格的值并打印出来。
3 写入XLSX文件
要将数据写入XLSX文件,我们可以继续使用Apache POI库。以下是一个简化的示例:
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();
}
}
}
在这个简化的示例中,我们创建一个新的Workbook,添加一个工作表,并创建一个标题行和数据行。我们为每一行设置单元格的值,并使用FileOutputStream将工作簿保存到文件中。
4 验证XLSX文件
验证XLSX文件可以确保数据满足特定的标准。以下是使用Apache POI执行验证的简化示例:
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();
}
}
}
在这个简化示例中,我们读取一个XLSX文件,创建一个数值约束以限制值在1到100之间,并将其应用于一组单元格。然后,我们将经过验证的数据保存到一个新的XLSX文件中。
5 总结
使用像Apache POI这样的库可以轻松处理Java中的XLSX文件。在本文中,我们探讨了一种简化的方法,使用Java代码示例来读取、写入和验证XLSX文件。通过利用这些功能,您可以自动化Excel相关任务并有效地处理Java应用程序中的数据。
推荐书单
《项目驱动零起点学Java》
《项目驱动零起点学Java》贯穿6个完整项目,经过作者多年教学经验提炼而得,项目从小到大、从短到长,可以让读者在练习项目的过程中,快速掌握一系列知识点。
作者是国内知名Java教学者和传播者,一路披荆斩棘,兢兢业业20余年。积累了丰富的“培”“训”经验,也产出了很多优质的教学理论。
Java语言经过数十年的发展,体系逐渐变得庞大而复杂,本书芟繁就简,提炼出了最为重要的知识点,可以让读者轻松上手。本书配套有专栏课程,课程中提供了扩展内容。
购买链接:https://item.jd.com/13607758.html
精彩回顾