下面我将详细讲解Java实现导出Excel功能的完整攻略,过程中包含以下几个步骤:
- 导入POI依赖
- 创建Excel工作簿和工作表
- 设置表头
- 向表中填充数据
- 导出Excel文件
1. 导入POI依赖
POI是Java操作Excel的开源项目,我们需要在项目中导入POI的相关依赖,这里以Maven为例,添加以下依赖即可:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.1</version>
</dependency>
2. 创建Excel工作簿和工作表
下面是Java代码示例:
Workbook workbook = new XSSFWorkbook(); // 创建一个新的Excel工作簿
Sheet sheet = workbook.createSheet(); // 创建一个新的工作表
sheet.setDefaultColumnWidth(10); // 设置默认列宽
3. 设置表头
下面是Java代码示例:
Row header = sheet.createRow(0); // 创建一个新的行作为表头
Cell headerCell1 = header.createCell(0); // 创建一个新的单元格
headerCell1.setCellValue("姓名"); // 设置单元格的内容
Cell headerCell2 = header.createCell(1);
headerCell2.setCellValue("年龄");
...
4. 向表中填充数据
下面是Java代码示例:
for (int i = 0; i < dataList.size(); i++) {
Row row = sheet.createRow(i + 1); // 创建一个新的行
Data data = dataList.get(i);
Cell cell1 = row.createCell(0); // 创建一个新的单元格
cell1.setCellValue(data.getName()); // 设置单元格的内容
Cell cell2 = row.createCell(1);
cell2.setCellValue(data.getAge());
...
}
5. 导出Excel文件
最后一步就是将工作簿写入到文件中,下面是Java代码示例:
File outputFile = new File("output.xlsx"); // 创建一个新的文件
FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
workbook.write(fileOutputStream); // 将工作簿写入文件
fileOutputStream.close(); // 关闭输出流
至此,我们就完成了Java实现导出Excel功能的完整攻略,下面是完整代码示例:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
public class ExcelExporter {
public static void main(String[] args) throws Exception {
List<Data> dataList = new ArrayList<>();
dataList.add(new Data("张三", 18, "男"));
dataList.add(new Data("李四", 20, "女"));
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet();
sheet.setDefaultColumnWidth(10);
Row header = sheet.createRow(0);
Cell headerCell1 = header.createCell(0);
headerCell1.setCellValue("姓名");
Cell headerCell2 = header.createCell(1);
headerCell2.setCellValue("年龄");
Cell headerCell3 = header.createCell(2);
headerCell3.setCellValue("性别");
for (int i = 0; i < dataList.size(); i++) {
Row row = sheet.createRow(i + 1);
Data data = dataList.get(i);
Cell cell1 = row.createCell(0);
cell1.setCellValue(data.getName());
Cell cell2 = row.createCell(1);
cell2.setCellValue(data.getAge());
Cell cell3 = row.createCell(2);
cell3.setCellValue(data.getGender());
}
File outputFile = new File("output.xlsx");
FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
workbook.write(fileOutputStream);
fileOutputStream.close();
}
static class Data {
private String name;
private int age;
private String gender;
public Data(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
}
以上就是本次攻略的完整内容,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现导出Excel功能 - Python技术站