关于一个标准的poi下载文件模板 可拿来来直接使用

@RequestMapping(value = "/RK/downloadDemo")
@ResponseBody
public void downloadExcel(HttpServletResponse response,HttpServletRequest request) {
try {
Workbook workbook = new HSSFWorkbook();
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("application/x-download");
String filedisplay = "资产入库模板.xls";
filedisplay = URLEncoder.encode(filedisplay, "UTF-8");
response.addHeader("Content-Disposition", "attachment;filename="+ filedisplay);
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
Sheet sheet = workbook.createSheet("资产入库模板");
// 第三步,在sheet中添加表头第0行
Row row = sheet.createRow(0);
// 第四步,创建单元格,并设置值表头 设置表头居中
CellStyle style = workbook.createCellStyle();
style.setAlignment(CellStyle.ALIGN_CENTER); // 创建一个居中格式
Cell cell = row.createCell(0);
cell.setCellValue("资产类别");
cell.setCellStyle(style);
sheet.setColumnWidth(0, (25 * 256)); //设置列宽,50个字符宽
cell = row.createCell(1);
cell.setCellValue("资产名称");
cell.setCellStyle(style);
sheet.setColumnWidth(1, (20 * 256)); //设置列宽,50个字符宽
cell = row.createCell(2);
cell.setCellValue("规格型号");
cell.setCellStyle(style);
sheet.setColumnWidth(2, (15 * 256)); //设置列宽,50个字符宽
cell = row.createCell(3);
cell.setCellValue("SN号");
cell.setCellStyle(style);
sheet.setColumnWidth(3, (15 * 256)); //设置列宽,50个字符宽
cell = row.createCell(4);
cell.setCellValue("单位");
cell.setCellStyle(style);
sheet.setColumnWidth(4, (20 * 256)); //设置列宽,50个字符宽
cell = row.createCell(5);
cell.setCellValue("单价");
cell.setCellStyle(style);
sheet.setColumnWidth(5, (20 * 256)); //设置列宽,50个字符宽
cell = row.createCell(6);
cell.setCellValue("残值率");
cell.setCellStyle(style);
sheet.setColumnWidth(6, (20 * 256)); //设置列宽,50个字符宽

cell = row.createCell(7);
cell.setCellValue("存放仓库");
cell.setCellStyle(style);
sheet.setColumnWidth(7, (20 * 256)); //设置列宽,50个字符宽

cell = row.createCell(8);
cell.setCellValue("购入时间");
cell.setCellStyle(style);
sheet.setColumnWidth(8, (20 * 256)); //设置列宽,50个字符宽

cell = row.createCell(9);
cell.setCellValue("使用期限");
cell.setCellStyle(style);
sheet.setColumnWidth(9, (20 * 256)); //设置列宽,50个字符宽

cell = row.createCell(10);
cell.setCellValue("供应商");
cell.setCellStyle(style);
sheet.setColumnWidth(10, (20 * 256)); //设置列宽,50个字符宽
// 第五步,写入实体数据 实际应用中这些数据从数据库得到
row = sheet.createRow(1);
row.createCell(0, Cell.CELL_TYPE_STRING).setCellValue("14");
row.createCell(1, Cell.CELL_TYPE_STRING).setCellValue("笔记本电脑");
row.createCell(2, Cell.CELL_TYPE_STRING).setCellValue("Y1123");
row.createCell(3, Cell.CELL_TYPE_STRING).setCellValue("SN01");
row.createCell(4, Cell.CELL_TYPE_STRING).setCellValue("台");
row.createCell(5, Cell.CELL_TYPE_STRING).setCellValue("5000");
row.createCell(6, Cell.CELL_TYPE_STRING).setCellValue("0.01");
row.createCell(7, Cell.CELL_TYPE_STRING).setCellValue("9");
row.createCell(8, Cell.CELL_TYPE_STRING).setCellValue("2019-09-01");
row.createCell(9, Cell.CELL_TYPE_STRING).setCellValue("36");
row.createCell(10, Cell.CELL_TYPE_STRING).setCellValue("联想专卖");
// 第六步,将文件存到指定位置
try
{
OutputStream out = response.getOutputStream();
workbook.write(out);
out.close();
}
catch (Exception e)
{
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}

原文地址:https://www.cnblogs.com/490889763-qq/p/11576734.html

时间: 2024-11-07 22:12:12

关于一个标准的poi下载文件模板 可拿来来直接使用的相关文章

用30行代码开发一个上传、下载文件的接口

分享一段代码,开发了3个接口: 1.上传文件 2.查看所有文件 3.下载文件 使用python开发,需要安装flask模块,使用pip install flask安装即可,代码量特别少,就能实现,加上注释总共35行代码,特别的简单,代码如下: import flask,os,time from flask import request,send_from_directory,jsonify app = flask.Flask(__name__)#创建一个app,代表这个web服务 @app.ro

javaweb下载文件模板

import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletReque

写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名?pathinfo文件路径& parse_url解析url & basename路径中文件名

例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php 方案1 <?php function getExt($url){ $arr = parse_url($url); $file = basename($arr['path']); $ext = explode(".",$file); return $ext[1]; } echo getExt("http://www.sina.com.cn/abc/d

从一个标准URL中提取文件的扩展名

例如:http://www.sina.cn/abc/de.php?id=1  提出php 1. $url = 'http://www.sina.cn/abc/de.php?id=1'; $arr = parse_url($url); $filepath = $arr['path'];//文件路径  /abc/de.php $filename = basename[$fielpath];// 文件名de.php $ext = explode('.',$filename); $ext = $ext[

11.写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名

//首先列出需要被操作的url     $url_path = "http://www.sina.com.cn/abc/de/fg.php?id=1";     方法一:     //取出扩展名及参数     $temp = pathinfo($url_path,PATHINFO_EXTENSION);     //找到扩展名     $temp = explode("?",$temp)     echo $temp[0];     //方法二:     //将ur

写一个函数尽可能高效的,从一个标准url里取出文件的扩展名

$url_path = 'http://www.sina.com.cn/abc/de/fg.php?id=1'; $temp = pathinfo($url_path,PATHINFO_BASENAME); $temp = explode("?", $temp); $temp1 = substr($temp[0], 2,5); echo $temp1;

Java FTP下载文件以及编码问题小结

问题 之前在开发过程中,遇到了一点问题,我要访问一个FTP服务器去下载文件详细情况如下: 1. 需要传入一个可能为中文的文件名: 2. 通过文件名去FTP上寻找该文件: 3. FTP服务器的命名编码为“GBK”: 思路 1.通过GET方法直接将文件名负载URL后面,但需要通过转码: 2.在Java Controller中收到参数后,进行解码,解码为正常数据: 3.用正常数据再转码为GBK,到Service中去调用FTP即可 4.(因公司安全考虑,我们需要在另一个模块中调用FTP)通过rest接口

关于使用bower下载文件,出现问题解决方法?

bower和npm的区别: 我在做项目搭建的时候,看很多视频都是使用bower,我就在想,怎么不使用npm呢? 这两者之间有什么区别呢?  其实大家都说bower是扁平化管理设计,而node是树模式,bower适用于前端开发,node适用于后端开发,但这些都是很笼统的概念,我对此也没有很大的深入,不过给自己还是留个悬念,找到相关资料后,再做一个笔记. bower下载文件出错: 本次做的笔记是bower下载不了相关的文件的解决办法,问题如下: 解决办法链接来自:https://stackoverf

Android开发之下载文件

Android开发中,文件下载时必须的,在此总结一下. Android文件下载需要的准备工作:1.联网和读写SD卡的权限设置:2.HttpURLConnection的使用知识:3.流式操作读写文件的知识. 以下是我自己写的示例代码,用以理解Android文件下载. 1.AndroidMainfest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht