更新时间:2022-08-02 10:41:41 来源:极悦 浏览883次
Java利用POI导出Excel格式文件的方法是什么?极悦小编来为大家解答。
第一步:先导入依赖。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.1</version>
</dependency>
简单案例
package com.maxinyang.excel;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.WorkbookUtil;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/**
*
* 无样式 无图片 导出xls 案例;
* 作者:12345
* 口号:天王盖地虎
*/
public class Excel {
public static void main(String[] args) {
/**
* 模拟数据库数据
*/
List<User> users = new ArrayList<>();
users.add(new User("老马1","18","河南洛阳"));
users.add(new User("老马2","18","河南洛阳"));
users.add(new User("老马3","18","河南洛阳"));
users.add(new User("老马4","18","河南洛阳"));
users.add(new User("老马5","18","河南洛阳"));
users.add(new User("老马6","18","河南洛阳"));
users.add(new User("老马7","18","河南洛阳"));
users.add(new User("老马8","18","河南洛阳"));
users.add(new User("老马9","18","河南洛阳"));
users.add(new User("老马10","18","河南洛阳"));
/**
*创建HSSFWorkbook对象(excel的文档对象),本实例是导出扩张名为xls(office2003)。
* 如果需要导出扩展名xlsx(office2007以后版本),只需要把文中HSSF改为XSSF即可,
* 如 HSSFWorkbook改为XSSFWorkbook。
*/
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet userTable = wb.createSheet("用户表");
/**
* HSSFRow 代表行 0 = 表的第一行
* HSSFCell 代表列 0 = 第一行第一列
* 注意 : 单元行单元列下标从零开始
*/
HSSFRow row0 = userTable.createRow(0);
HSSFCell cell0 = row0.createCell(0);
// 设置内容
cell0.setCellValue("用户表格一览");
// 合并单元格 起始行 截至列 起始列 截至行
userTable.addMergedRegion(new CellRangeAddress(0,0,0,4));
//设置单元列名
HSSFRow row1 = userTable.createRow(1);
row1.createCell(0).setCellValue("姓名");
row1.createCell(1).setCellValue("年龄");
row1.createCell(2).setCellValue("住址");
// 循环内容
for (int i = 0; i < users.size(); i++) {
User user = users.get(i);
HSSFRow row = userTable.createRow(i + 2);
row.createCell(0).setCellValue(user.getName());
row.createCell(1).setCellValue(user.getAge());
row.createCell(2).setCellValue(user.getAddress());
}
try {
// 文件名称
String fileName = System.currentTimeMillis() + ".xls";
FileOutputStream fileOutputStream = new FileOutputStream("F:\\学习测试文件\\execl\\" + fileName);
wb.write(fileOutputStream);
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习