java --struts2数据库导出Excel文件,下载提示
来源:互联网 发布:昆明网络主播招聘 编辑:程序博客网 时间:2024/05/21 11:28
<pre name="code" class="plain">poi-3.11-20141221.jar
package cn.lanz.employe.excel.action;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.text.SimpleDateFormat;import java.util.List;import org.apache.catalina.core.ApplicationContext;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFDataFormat;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.usermodel.IndexedColors;import org.apache.struts2.ServletActionContext;import cn.lanz.employe.employee.service.EmployeeService;import cn.lanz.employe.employee.vo.Employee;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;/** * @描述: 导出Excel文件 * @version 创建时间: 2016-10-7:上午10:53:21 * @E-mail 邮箱: lan***@126.com * @author 作者: 蓝** */public class ExportExcelAction extends ActionSupport implements ModelDriven<Employee>{private static final long serialVersionUID = 1L;/** * 加入模型驱动 */private Employee employee=new Employee();@Overridepublic Employee getModel() {// TODO Auto-generated method stubreturn null;}/** * 注入员工service */private EmployeeService employeeService;public void setEmployeeService(EmployeeService employeeService) {this.employeeService = employeeService;}public String exportExcel()throws Exception{//第一步,创建一个workbook,对应一个excel文件HSSFWorkbook wb=new HSSFWorkbook();HSSFSheet sheet =wb.createSheet("员工信息表");HSSFDataFormat format=wb.createDataFormat();//单元格内容格式sheet.setColumnWidth(0, 20*256);//设置单元格列宽度sheet.setColumnWidth(1, 20*256);//设置单元格列宽度sheet.setColumnWidth(2, 20*256);//设置单元格列宽度sheet.setColumnWidth(3, 20*256);//设置单元格列宽度sheet.setColumnWidth(4, 20*256);//设置单元格列宽度sheet.setColumnWidth(5, 20*256);//设置单元格列宽度Short height=300;sheet.setDefaultRowHeight(height);//统一高度 HSSFRow row=sheet.createRow(0);HSSFCellStyle style=wb.createCellStyle();//设置样式style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平居中style.setFillBackgroundColor(IndexedColors.DARK_YELLOW.getIndex());HSSFCell cell;cell=row.createCell(0);cell.setCellValue("员工编号");cell.setCellStyle(style);cell=row.createCell(1);cell.setCellValue("员工姓名");cell.setCellStyle(style);cell=row.createCell(2);cell.setCellValue("员工性别");cell.setCellStyle(style);cell=row.createCell(3);cell.setCellValue("员工出生日期");cell.setCellStyle(style);cell=row.createCell(4);cell.setCellValue("员工入职日期");cell.setCellStyle(style);cell=row.createCell(5);cell.setCellValue("员工所属部门");cell.setCellStyle(style);//从数据库中读取数据 List<Employee> list=employeeService.listAll();//转换日期格式SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");//循环输出for(int i=0;i<list.size();i++){row=sheet.createRow(i+1);employee=list.get(i);row.createCell(0).setCellValue(employee.getEno());row.createCell(1).setCellValue(employee.getEname());row.createCell(2).setCellValue(employee.getSex());row.createCell(3).setCellValue(fmt.format(employee.getBirthday()));row.createCell(4).setCellValue(fmt.format(employee.getJoinDate()));row.createCell(5).setCellValue(employee.getDepartment().getDname());} //第七步,将文件存到流中 ByteArrayOutputStream os = new ByteArrayOutputStream(); wb.write(os); byte[] fileContent = os.toByteArray(); ByteArrayInputStream is = new ByteArrayInputStream(fileContent); excelStream = is; //文件流 excelFileName = "employee.xls"; //设置下载的文件名 return SUCCESS;} private InputStream excelStream; //输出流变量 private String excelFileName; //下载文件名 public InputStream getExcelStream() { return excelStream; } public void setExcelStream(InputStream excelStream) { this.excelStream = excelStream; } public String getExcelFileName() { return excelFileName; } public void setExcelFileName(String excelFileName) { this.excelFileName = excelFileName; } }
===================
struts.xml配置
<action name="excel_*" class="cn.lanz.employe.excel.action.ExportExcelAction" method="{1}"> <result name="success" type="stream"> <!-- 下载文件的类型,如果你不知道是什么格式,可以去 tomcat\conf\web.xml下找 --> <param name="contentType">application/vnd.ms-excel;charset=UTF-8</param> <!-- 返回流 excelStream为action中的流变量名称 --> <param name="inputName">excelStream</param> <!-- attachment 这个位置的参数挺特殊的,可以设置成下载时,是否出现个下载提示框,或者直接下载之类的。 fileName指定生成的文件名字(适合动态生成文件名,比如做报表时,一般都要说是几月的统计数据之类)为action中变量--> <param name="contentDisposition"> attachment;filename=${excelFileName} </param> <param name="bufferSize">1024</param> </result> </action>
0 0
- java --struts2数据库导出Excel文件,下载提示
- Java Struts2 实现数据库数据导出Excel文件
- java导出excel 下载文件
- northwind数据库导出为excel文件下载
- struts2导出excel文件
- java POI excel文件导出下载
- excel导出+提示用户下载
- struts2导出excel java 导出excel
- struts2导出excel java 导出excel
- 数据库导出excel文件
- struts2+poi 导出Excel文件
- struts2导入&导出Excel文件
- Java Struts2 POI创建Excel文件并实现文件下载
- Java Struts2 POI创建Excel文件并实现文件下载
- Java Struts2 POI创建Excel文件并实现文件下载
- Java Struts2 POI创建Excel文件并实现文件下载
- java/Struts2 jqgrid 导出excel
- Struts2 java 对象 导出Excel
- 新浪微盘等大批网盘将关停 你的私藏文件导出来了吗?
- ANDROID内存优化(大汇总——上)
- Memcached参考资源
- 跨站攻击工具XSS Shell
- 听说这篇博客里面有红包!!!
- java --struts2数据库导出Excel文件,下载提示
- 哪些游戏不玩物丧志
- C/C++ 注释规范
- MySQL服务无法启动 无任何错误报告 键入net helpmsg 3534
- 高数(二)
- 使用servlet处理http响应
- recyclerview分割线 -总结
- 谷歌市场项目代码详解(二)
- classpath变量的配置