POI另存数据至Excel文件

想要用java操作Excel文件,首先在项目中导入这两个jar包:

poi-3.10-beta2-20130904.jar

poi-excelant-3.10-beta2-20130904.jar

这里我只贴出3.10-beta版的相关包名,需要的到官网去下载吧。

接下来说说怎么将数据保存至Excel文件。

1.首先,简单说明一下Excel文件的格式,一个Excel文件可以有多张表,大家打开Excel文件可以看到下方有导航栏,就像这样,一张表有多行,每行有多个单元格,结构很清晰。

2.接下来是POI中跟Excel文件操作有关的类。

HSSFWorkbook对应Excel文件,HSSFSheet对应一张表,HSSFRow对应一行,HSSFCell对应一个单元格,创建简单的Excel文件就只用到这四个类。

3.接着创建Excel文件:

//创建workbook
workbook = new HSSFWorkbook();
//创建一张表
sheet = workbook.createSheet("表1");
HSSFRow[] rows;// 行数
HSSFCell[][] cells;// 单元格二维数组
rows = new HSSFRow[list.size()];
cells = new HSSFCell[list.size()][];
for (int i = 0; i < list.size(); i++) {
	rows[i] = sheet.createRow(i);
	cells[i] = new HSSFCell[list.get(i).size()];
	for (int j = 0; j < list.get(i).size(); j++) {
		cells[i][j] = rows[i].createCell(j);
		cells[i][j].setCellValue(list.get(i).get(j));
	}
}
FileOutputStream fileOut = null;
try {
	fileOut = new FileOutputStream("E:/TEMP/workbook.xls");
	//写入磁盘
	workbook.write(fileOut);
	fileOut.close();
} catch (FileNotFoundException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
} catch (IOException e1) {
	// TODO Auto-generated catch block
	e1.printStackTrace();
}


在JSP页面中,你可以利用Java的库如Apache POI来创建Excel文件,并通过HTTP响应将文件发送给浏览器下载。以下是一个简单的步骤: 1. 引入依赖:首先,在项目中添加Apache POI的依赖,例如在Maven中添加`<dependency>`到pom.xml: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>latest version</version> </dependency> ``` 2. 创建Excel数据:生成一个HSSFWorkbook对象,然后添加Sheet并填充数据。 ```java // 导入相关的POI包 import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; // 在服务器端的Java代码中操作 try { Workbook workbook = new XSSFWorkbook(); // 或者Workbook如果需要支持旧版本的xls文件 Sheet sheet = workbook.createSheet("Table"); Row headerRow = sheet.createRow(0); Cell cell; for (int i = 0; i < formFields.length; i++) { cell = headerRow.createCell(i); cell.setCellValue(formFields[i].getName()); // 假设formFields数组包含了所有要写入Excel数据 } // 将数据写入工作簿 // ... // 创建输出流并设置响应头 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader("Content-Disposition", "attachment; filename=export.xlsx"); OutputStream outputStream = response.getOutputStream(); // 写入工作簿到输出流 workbook.write(outputStream); // 关闭资源 workbook.close(); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } ``` 3. 在JSP页面中调用这个操作:通常会在后台Servlet或者JavaBean中处理这部分逻辑,然后通过`request.getRequestDispatcher()`返回一个新的视图(这里就是处理完并生成了Excel文件),让浏览器去下载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值