SpringMVC 导入导出Excel文件
/**
* 下载Excel模板 创建一个新的文件用于下载,创建的文件放在缓存中
*
* @param request
* @param response
*/
/*
* @RequestMapping("/get_Sb_yys_sgyyqk_cj") public void
* get_Sb_yys_sgyyqk_cj(HttpServletRequest request, HttpServletResponse
* response) { try { // 输出流 OutputStream os = new
* FileOutputStream(filePath); // 工作区 HSSFWorkbook wb = new HSSFWorkbook();
* // 工作区名 HSSFSheet sheet = wb.createSheet("烟叶税采集模板");
* sheet.autoSizeColumn(1, true); // 设置自适应宽度,高版本的POI才有用
*
* // 创建表头 HSSFRow row = sheet.createRow(0); row.setHeight((short) 600);//
* 设定行的高度
*
* // 设置单元格内容格式 HSSFCellStyle style = wb.createCellStyle();
* style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平布局:居中
* style.setWrapText(true);// 自动换行
*
* // 设置单元格内容格式 HSSFCellStyle style1 = wb.createCellStyle(); //
* 测试发现excel不支持精确到秒的日期格式,换成日期就够 //
* style1.setDataFormat(HSSFDataFormat.getBuiltinFormat
* ("yyyy/MM/dd hh:mm:ss"));
* style1.setDataFormat(HSSFDataFormat.getBuiltinFormat("yyyy-MM-dd"));
* style1.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平布局:居中
* style1.setWrapText(true);// 自动换行
*
* HSSFCell cell = row.createCell(0); cell.setCellStyle(style);
* cell.setCellValue("社会信用代码"); sheet.autoSizeColumn((short) 1); //
* sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2)); // //
* 合并单元格(startRow,endRow,startColumn,endColumn)
*
* cell = row.createCell(1); cell.setCellStyle(style);
* cell.setCellValue("收购数量");
*
* cell = row.createCell(2); cell.setCellStyle(style);
* cell.setCellValue("单价");
*
* cell = row.createCell(3); cell.setCellStyle(style);
* cell.setCellValue("烟叶等级代码"); sheet.autoSizeColumn((short) 3); // 调整第3列宽度
*
* cell = row.createCell(4); cell.setCellStyle(style1);
* cell.setCellValue("收购日期(数据格式为yyyy-MM-dd,如:2017-12-11表示2017年12月11日)");
* sheet.autoSizeColumn((short) 4); // 调整第四列宽度
*
* // 写文件 wb.write(os); // 关闭输出流 os.close(); download(filePath, response); }
* catch (Exception e) { e.printStackTrace(); } }
*//**
* 此方法可以提出去公用
*
* @param path
* @param response
*/
/*
* private void download(String path, HttpServletResponse response) { try {
* // path是指欲下载的文件的路径。 File file = new File(path); // 取得文件名。 String filename
* = file.getName(); // 以流的形式下载文件。 InputStream fis = new
* BufferedInputStream(new FileInputStream(path)); byte[] buffer = new
* byte[fis.available()]; fis.close(); // 清空response response.reset(); //
* 设置response的Header response.addHeader("Content-Disposition",
* "attachment;filename=" + new String(filename.getBytes()));
* response.addHeader("Content-Length", "" + file.length()); OutputStream
* toClient = new BufferedOutputStream( response.getOutputStream());
* response.setContentType("application/vnd.ms-excel;charset=utf-8");
* toClient.write(buffer); toClient.flush(); toClient.close();
* if(file.exists()){ //删除缓存的文件 file.delete(); } } catch (IOException ex) {
* ex.printStackTrace(); } }
*/
SpringMVC 导入导出Excel文件的更多相关文章
- 【转】 (C#)利用Aspose.Cells组件导入导出excel文件
Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: public static System.Data.DataTable ReadExcel(String strFi ...
- (C#)利用Aspose.Cells组件导入导出excel文件
Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: public static System.Data.DataTable ReadExcel(String strFi ...
- ASP.NET Core导入导出Excel文件
ASP.NET Core导入导出Excel文件 希望在ASP.NET Core中导入导出Excel文件,在网上搜了一遍,基本都是使用EPPlus插件,EPPlus挺好用,但商用需要授权,各位码友若有好 ...
- 导入导出Excel文件
搭建环境 先新建web project ,然后Add Struts Capabilties: 下载导入导出Excel所需的jar包: poi-3.8-20120326.jar包 : http:// ...
- java中使用poi导入导出excel文件_并自定义日期格式
Apache POI项目的使命是创造和保持java API操纵各种文件格式基于Office Open XML标准(OOXML)和微软的OLE复合文档格式(OLE2)2.总之,你可以读写Excel文件使 ...
- C# 导入导出excel文件案例
个人总结导出excel报表的案例: //导出报表 protected void btnExport_Click(object sender, EventArgs e) { List<ProOut ...
- java导入导出Excel文件
package poi.excel; import java.io.IOException; import java.io.InputStream; import java.io.OutputStre ...
- 简单回顾NPOI导入导出excel文件
当前环境.net4.0 去官方下下载: NOPI官网 关于NOPI的详细,这里就不再介绍. 在项目中,我们只需引入 NPOI.dll 就可以了. 接下来..................... ...
- php中导入导出excel的原理
在php中我们要经常导入导出excel文件,方便后台管理.那么php导入和导出excel的原理到底是什么呢?excel分为两大版本excel2007(后缀.xlsx).excel2003(后缀.xls ...
随机推荐
- 微信小程序支付c#后台实现
今天为大家带来比较简单的支付后台处理 首先下载官方的c#模板(WxPayAPI),将模板(WxPayAPI)添加到服务器上,然后在WxPayAPI项目目录中添加两个“一般处理程序” (改名为GetOp ...
- pythion的定义函数和传递实参
1.定义函数 例子: def greet_user(): """显示简单的问候语""" print("Hello!")g ...
- 转载《学习HTML5 canvas遇到的问题》
学习HTML5 canvas遇到的问题 1. 非零环绕原则(nonzZero rule) 非零环绕原则是canvas在进行填充的时候是否要进行填充的判断依据. 在判断填充的区域拉一条线出来,拉到图形的 ...
- css 简单梯形
通过css2D变形我们可以轻松得到平行四边形,那么通过此技巧可以得到梯形吗? no! 不过我们可以通过3D旋转得到类似这样的效果: transform:perspective(0.5em) rota ...
- <Android 基础(十八)> XLIFF
介绍 XLIFF ,XML Localization Interchange File Format,XML本地化数据交换格式. 实际使用 1.布局文件 activity_main.xml <? ...
- CentOS安装chrome-浏览器
首先,在CentOS中安装软件,通过yum命令来安装软件,就要在系统中的软件源中添加软件源节点,即在目录./etc/yum.repos.d/下的CentOS-Base.repo文件中做修改:在控制台C ...
- Oracle 数据库异机恢复(归档模式)
操作必须在服务器上进行(在192.168.12.71上执行) 0.按需要恢复的日期,把距恢复日期最近的全部备份和全部备份日期后的日志备份一同拷贝到需要恢复的机器上: 1.用RMAN登陆 C:\User ...
- 转:一个优秀windows C++程序员的知识体系
转自:http://www.cppblog.com/weiym/archive/2012/06/10/178287.html.根据自身的经历,觉得作者总结的很好. 思考一个优秀windows C++ ...
- Vue2自定义指令改变DOM值后未刷新data中绑定属性的值
标签(空格分隔): Vue 自定义指令用于过滤输入框,只允许输入数字: Vue.directive('numberOnly', { bind: function (el, binding) { el. ...
- php 四种基本排序算法
冒泡排序 思路分析:法如其名,就是像冒泡一样,每次从数组当中 冒一个最大的数出来. 第一轮:从第一个到最后一个冒泡比较,运行结果:最后一个最大 第二轮:从第一个到倒数第二个冒泡比较, 运行结果:最后一 ...