struts2利用poi导出excel文件
来源:互联网 发布:天津网络营销黑马网络 编辑:程序博客网 时间:2024/03/29 08:41
首先,利用poi生成excel
代码如下:
package com.hwhzsoft.utils;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.util.Map;import java.util.List;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRichTextString;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;/** * Excel文件导出工具类 * 该类是对导出excel文件功能的封装,这里提供了一个静态方法,getWorkbook();其有3个参数,第一个String数组 * 用来接收标题信息,第二个String数组中存放的内容是Map中存放的值的key,第三个list中已map的形式存放需要导出 * 到excel的结果。 * 同时该方法返回的是一个HSSFWorkbook对象,方便后续进行任何处理 * * @author songjianchang * @time 2013年11月29日10:16:05 */public class ExcelExportUtil { /** * 将数据写入Workbook(是否考虑数据量太大问题) * * @param titles 标题栏 * @param valueNames 查询结果对应的key * @param result 查询结果 * @return */public static InputStream getExcelInputStream(String[] titles, String[] valueNames ,List<Map<String, Object>> result){//创建workbook对象HSSFWorkbook workbook = new HSSFWorkbook();//创建一个sheet页面HSSFSheet sheet = workbook.createSheet("sheet1");//创建第1行,表头信息HSSFRowrow = sheet.createRow(0);//声明一个cellHSSFCell cell;//填充表头数据for (int i = 0; i < titles.length; i++) {//创建第i列cell = row.createCell(i);//填充第i列的值cell.setCellValue(new HSSFRichTextString(titles[i]));}/** * 将结果插入到sheet表中 */for (int i = 0; i < result.size(); i++) {//创建第i+1列(除去表头)row = sheet.createRow(i +1);//获取第i个map的对象Map<String, Object> map = result.get(i);/** * 遍历Map的值,并填充到cell中 */for (int j = 0; j < titles.length; j++) {//创建单元格cell = row.createCell(j);//获取map中的值String temp = map.get(valueNames[j]).toString();cell.setCellValue(temp);}}try {ByteArrayOutputStream baos = new ByteArrayOutputStream();workbook.write(baos);baos.flush();byte[] temps = baos.toByteArray();InputStream input = new ByteArrayInputStream(temps, 0, temps.length);baos.close();return input;} catch (Exception e) {System.out.println("生成excel文件失败!");}return null;} }在Action中对该方法进行调用,该部分的核心代码如下
try {String[] titles = {"户号","仪表号","厂商","时间","进口温度","出口温度","温差","累计热量","累计流量","功率","流速","状态"};String[] valueNames = {"resident_name","meter_number","meter_type_name","date","in_temperature","out_temperature","difference","total_heat","total_flow","instant_heat","instant_flow","read_status"};List<Map<String, Object>> results = meterNewService.getAllMeterNew();input = ExcelExportUtil.getExcelInputStream(titles, valueNames, results);return SUCCESS;} catch (Exception e) {System.out.println("Excel导出错误");}在struts2中对该Action的配置
<result name="success" type="stream"><param name="contentType">application/vnd.ms-excel</param><param name="inputName">input</param><param name="contentDisposition">filename="report.xls"</param><param name="bufferSize">1024</param></result>
0 0
- struts2利用poi导出excel文件
- struts2 利用 POI 导出 excel
- struts2+poi 导出Excel文件
- struts2+poi实现excel文件的导出
- struts2+poi实现导出Excel文件
- Struts2+poi实现Excel文件导出
- 利用POI导入和导出excel文件
- JAVA利用POI导出Excel模板文件
- Java利用POI实现导出excel文件
- 利用poi 导入导出excel文件
- 文件下载利用poi导出excel
- Struts2 poi导出excel
- 利用POI导出excel
- 利用Poi导出Excel
- 利用poi导出excel
- 利用POI导出EXCEL
- 利用POI导出excel
- POI导出Excel文件
- WebRTC - Introduction to WebRTC architecture - 08
- Android fill_parent、wrap_content和match_parent的区别
- WebRTC - Introduction to WebRTC architecture - 09
- linux配置出错系统起不来及乱炖
- C#实现实时监控文件目录下的变化
- struts2利用poi导出excel文件
- CentOS6.4(linux)下编写C程序(hello world)步骤及注意事项
- IP-Video-Monitor-P2P-Based
- 基于电力线载波的物联网智能家居控制系统研究方案
- 解决ListView 跟ScroolView 共存 listItem.measure(0, 0) 空指针
- Modbus通讯协议
- ORACLE空间管理实验7:块管理之MMSM--为什么SYSTEM/UNDO/TEMP是MMSM管理?
- 淘宝下单高并发解决方案
- 随风而逝的青春