Java使用POI操作Excel文件
介绍
Apache POI是一组用于读写Microsoft Office格式的Java API,其中包括Word、Excel和PowerPoint文档。在本文中,我们将深入了解如何使用POI来操作Excel文件。 特别是,我们将学习如何使用POI来创建、读取、写入和格式化Excel文档。
创建Excel文档
在对Excel进行任何操作之前,首先需要创建Excel文档。 POI提供了HSSFWorkbook、XSSFWorkbook和SXSSFWorkbook类用于处理.xls、.xlsx和.xlsx格式的Excel文件。下面是创建一个新的Excel工作簿并在其中创建一个新的工作表的例子:
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelWriter {
public static void main(String[] args) throws IOException {
Workbook workbook = new XSSFWorkbook();
workbook.createSheet("My Sheet");
try (FileOutputStream outputStream = new FileOutputStream("MyExcel.xlsx")) {
workbook.write(outputStream);
}
}
}
读取Excel文档
为了读取Excel文档,我们需要使用POI的Workbook类。以下是读取.xlsx格式的Excel文件的示例:
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelReader {
public static void main(String[] args) throws IOException {
try (FileInputStream inputStream = new FileInputStream("MyExcel.xlsx")) {
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
for (Cell cell : row) {
System.out.print(cell.getStringCellValue() + "\t");
}
System.out.println();
}
}
}
}
写入Excel文档
要往一个Excel文档中写入数据,我们需要使用Cell类。下面是向一个Excel文档写入数据的示例:
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelWriter {
public static void main(String[] args) throws IOException {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("My Sheet");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Hello, World!");
try (FileOutputStream outputStream = new FileOutputStream("MyExcel.xlsx")) {
workbook.write(outputStream);
}
}
}
格式化Excel文档
最后,我们来看看如何对Excel文档进行格式化。POI提供了一些实用的类和方法,可以帮助我们更好地管理Excel文件中的样式、字体和其他特性。以下是设置Excel单元格样式的示例:
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelWriter {
public static void main(String[] args) throws IOException {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("My Sheet");
CellStyle style = workbook.createCellStyle();
Font font = workbook.createFont();
font.setColor(Color.BLUE);
style.setFont(font);
Row row = sheet.createRow(0);
row.createCell(0).setCellValue("Hello, World!");
row.createCell(1).setCellValue("Hello, POI!");
row.getCell(1).setCellStyle(style);
try (FileOutputStream outputStream = new FileOutputStream("MyExcel.xlsx")) {
workbook.write(outputStream);
}
}
}
结论
这篇文章介绍了如何使用POI来操作Excel文件。我们了解了如何创建、读取、写入和格式化Excel文档。通过使用POI,您可以在Java应用程序中更好地管理Excel文件,并更容易地进行数据分析和处理。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java使用poi操作excel文件 - Python技术站