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 ...
随机推荐
- sqlite3在别的目录写文件的问题
今天碰到一个文件,就是sqlite数据不能把db创建在别的目录下.找了好久不得其解.后来换了一个sqlite jar包就好了. 原来我用的是sqlite-nested 内嵌的jar包. 换成这里的包h ...
- [LeetCode]24. Swap Nodes in Pairs两两交换链表中的节点
Given a linked list, swap every two adjacent nodes and return its head. Example: Given 1->2->3 ...
- 多线程TCP的socket通信
应用多线程来实现服务器与多客户端之间的通信. 基本步骤: 1.服务器端创建ServerSocket,循环调用accept()等待客户端的连接 2.客户端创建一个socket并请求和服务器端的连接 3. ...
- unity3D使用C#遍历场景内所有元素进行操作
最近入门Unity3D,跟着教程做完了survival射击游戏,就想加一个功能,就是按一个按钮屏幕上的怪物都清空. 如图右下角所示. 我的方法是赋予所有怪物一个标签Tag,然后根据标签销毁Gameob ...
- form中button特殊功能
描述:写弹窗的时候发现,form中的button,不对它进行什么设置,它会有默认的操作,点击“发送验证码”或者“提交申请”,它都会退出弹窗(取消遮罩层) 解决:button有不同的type属性,只需要 ...
- 树莓派3(Raspberry pi 3)刷OpenWrt
原文在 https://my.oschina.net/wangandi/blog/687389 1.下载镜像,这个lede好像是openwrt的一个分支,openwrt本身还没有支持pi3,https ...
- 详解Struts1.x的运行机制及命名规则
Struts1.x 调用一个action的大致流程: 1)首先前端发送 *.do的一个action请求(通过点击表单提交按钮,js 事件等): 2)web.xml 文件通过 *.do 找到 Actio ...
- day6-基础 模块详解
1.定义: 1)模块:本质上就是一个python程序,封装成一个"模块",可以调用里面的方法,用来实现一个功能.逻辑上用来组织python代码. 2)包:本质上是一个目录(必须带有 ...
- 实验:将系统进程映射移到 Python 字典中
参考官方文档,测试下列代码,把oracle的进程映射到python的字典中: [oracle@ycr python]$ more pro_get.py import reimport subproce ...
- typescript import需要注意的地方以及一点疑问
在使用 import {XXX} from './xxx'的时候,到浏览器上会报错,提示找不到xxx文件,原因在于没有加入后缀,这时候要写成import {XXX} from './xxx.js'注意 ...