1、创建ExcelExportAction类
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; 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.hssf.util.HSSFColor; import com.opensymphony.xwork2.ActionSupport; public class ExcelExportAction extends ActionSupport{ private static final long serialVersionUID = 4565154051377016557L; // private static final long cen = 2565374152L; private static final String[] header = { "序号", "员工工号", "员工姓名", "所属部门", "职位", "入职日期", "备注" }; private String excelFileName; private InputStream excelStream; /** * export excel * * @return */ public String exportExcel() { try { // 创建excel HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("测试文件1"); // 这里是createRow(int)可别用sheet.getRow(int)切记。。。。 HSSFRow row = sheet.createRow(0); row.setHeightInPoints(25); HSSFCellStyle cellstyle = workbook.createCellStyle(); cellstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); cellstyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); cellstyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index); cellstyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); HSSFFont font = workbook.createFont(); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); cellstyle.setFont(font); HSSFCell cell; for (int i = 0; i < header.length; i++) { cell = row.createCell(i); cell.setCellStyle(cellstyle); sheet.setColumnWidth(i,25*256); cell.setCellValue(header[i]); } // 定义20行数据插入到excel表中 for (int j = 1; j <= 50; j++) { row = sheet.createRow(j); row.setHeightInPoints(20); HSSFCell cell0 = row.createCell(0); cell0.setCellValue(j); HSSFCell cell1 = row.createCell(1); cell1.setCellValue("员工工号" + j); HSSFCell cell2 = row.createCell(2); cell2.setCellValue("员工姓名" + j); HSSFCell cell3 = row.createCell(3); cell3.setCellValue("软研" + j + "部"); HSSFCell cell4 = row.createCell(4); cell4.setCellValue("程序员" + j); HSSFCell cell5 = row.createCell(5); cell5.setCellValue("2013-05-28"); HSSFCell cell6 = row.createCell(6); cell6.setCellValue("remark"); } // 将文件存入流中 ByteArrayOutputStream bos = new ByteArrayOutputStream(); workbook.write(bos); byte[] fileContent = bos.toByteArray(); ByteArrayInputStream bis = new ByteArrayInputStream(fileContent); excelStream = bis; excelFileName = "EXCEL文件导出测试.xls"; excelFileName = new String(excelFileName.getBytes(),"iso-8859-1"); } catch (IOException e) { e.printStackTrace(); } return SUCCESS; } /** getter/setter method **/ public String getExcelFileName() { return excelFileName; } public void setExcelFileName(String excelFileName) { this.excelFileName = excelFileName; } public InputStream getExcelStream() { return excelStream; } public void setExcelStream(InputStream excelStream) { this.excelStream = excelStream; } }
2、struts.xml配置
<!-- exprot excel file --> <action name="exportExcel" class="com.hnyyzw.trm.action.ExcelExportAction" method="exportExcel"> <result name="success" type="stream"> <!-- 下载文件类型 --> <param name="contentType">application/vnd.ms-excel</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>
相关推荐
destoon添加excel数据导入功能,利用phpexcel插件实现destoon的excel导入功能,导入数据到数据表中,并展示,也可在thinkphp中利用该插件实现excel数据的导入和导出
C#导入excel数据
SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel
批量导入Excel数据到数据库,.NET开发,带数据校验、事务回滚、Excel预览、日志功能的完整开发实例
1.使用Openfile功能导入excel文件,读出文件名、文件地址 2.使用一个button实现导入数据模板,导入表格内容 3.实现进度条功能,跟踪文件传输进度 4.引用Microsoft.Office.Interop.Excel和Spire.Xls分别实现文件的...
批量导入Excel数据到数据库,.NET 2008开发,带数据校验、数据库事务回滚、Excel预览、日志功能的完整开发代码
在数据管理系统中,添加大量数据,如果通过手动录入的话,相当费事费力。最近开发一款数据管理系统,所以我花了半天时间将该功能梳理出来。该资料将框架和其他功能都简化,主要实现该功能。
使用Excel“导入外部数据”功能导入标准工时数据.rar,如果用户需要引用本地计算机或网络上的外部数据,可以通过使用Excel“导入外部数据”的功能来达到目的。如本例引用文件“27.3 标准工时数据.mdb”中的数据并保持...
SpringBoot+AntDesignVue实现excel导入功能
在我们的实践开发中我们经常会遇到很多关于报表问题的数据展示,当然了有报表肯定是少不了数据的导出和导入的一些功能的啦,我这个demo就是专门使用nopi第三方库对excel的数据批量导入和数据导出的相关功能实现。
本程序实现功能: 1.DataGrid数据的显示、修改与保存 2.DataGrid数据导入Excel
将excel里的数据导入到数据库中,支持多种数据库。
这段时间闲来无事,想研究一下办公系统中的导出和导入excel表格功能,最后终于弄出来,现在给广大需要的新手朋友参考使用
很好用的Excel批量导入功能。
将Excel数据导入到SQLServer中,可以选择要导入的Excel文件和Sheet名称,表名。通过自动编写存储过程来实现导入功能。实际使用无须这么麻烦,可以作为数据导入和存储过程参考例子。
SSH框架ORACLE数据导入导出工具最近要进行设备数据处理,CSV数据量已经超过百万级别,EXCEL无法进行处理,做了一个基于SSH框架,实现CSV文件上传,数据过滤导入ORACLE数据库,查询分析数据,并生成EXCEL文件,实现...
这是一个Excel表格导入与导出功能,Excel美化,并且添加了进度条,丢上Eclipse直接运行使用,附带测试数据与说明。Java项目使用maven搭建。
本文介绍了读取Excel数据并导入DB2数据库的方法。文中的代码是一个Demo,功能有两个:一是POI读取Excel,二是DB2数据库的连接和SQL执行。
在这里,通过使用JQUERY+JQUERY UI+JSON-LIB+POI实现这个功能数据导出设计:通过使用JQUERY分析表格的结构,读取表格结构数据构建JSON字符串,发送到后台,后台分析表格结构,然后生成Excel数据. 本程序基于是...