java写简单Excel 首行是目录 然后前台下载
页面:
<form action="${path}/xxx/xxx.do" method="get" >
表格下载:<input type="submit" value="下载">
</form>
@RequestMapping("/download")
public void download(HttpServletRequest request, HttpServletResponse response, HttpSession session)
throws Exception {
ArrayList<String> listTitle = new ArrayList<String>();
listTitle.add("a");
listTitle.add("b");
listTitle.add("c");
listTitle.add("d");
listTitle.add("e");
// 创建表格及其第一行标题栏
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("sheet1");
HSSFRow row0 = sheet.createRow(0);
for (int j = 0; j < 5; j++) {// 5列
HSSFCell cell = row0.createCell((short) j);
cell.setCellValue(listTitle.get(j).toString());
}
String maker = SystemUtil.getCureenUser(session);
List<MainfestItem> list = transportService.getlist(maker);
System.out.println(list.size());
// 从第二行输入
for (int i = 1; i <= list.size(); i++) { // 几行
HSSFRow row = sheet.createRow(i);
HSSFCell cell0 = row.createCell((short) 0);// 第n+1个
cell0.setCellValue(list.get(i - 1).getId().toString());
HSSFCell cell1 = row.createCell((short) 1);
cell1.setCellValue(list.get(i - 1).getContainerid().toString());
HSSFCell cell2 = row.createCell((short) 2);
cell2.setCellValue(list.get(i - 1).getIsocode().toString());
}
ByteArrayOutputStream os = new ByteArrayOutputStream();
wb.write(os);
byte[] content = os.toByteArray();
InputStream is = new ByteArrayInputStream(content);
// 设置response参数,可以打开下载页面
response.reset();
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition",
"attachment;filename=" + new String(("box" + ".xls").getBytes(), "iso-8859-1"));
ServletOutputStream out = response.getOutputStream();
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(is);
bos = new BufferedOutputStream(out);
byte[] buff = new byte[2048];
int bytesRead;
// Simple read/write loop.
while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff, 0, bytesRead);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally {
if (bis != null)
bis.close();
if (bos != null)
bos.close();
}
}
java写简单Excel 首行是目录 然后前台下载的更多相关文章
- java生成简单Excel工作薄
前言: 代码都是建立在实际需求上的,上周做完一个调外部电影券接口的项目,这周产品又要excel表格,大致内容为:券所属影院.图片URL.等信息制作为excel表格,把每次同步过来的数据给他分析. jx ...
- 用JAVA写简单的栈
package com.gailekesi.example.expl_tuple; import javax.naming.NameNotFoundException; import java.awt ...
- Java读取excel指定sheet中的各行数据,存入二维数组,包括首行,并打印
1. 读取 //读取excel指定sheet中的各行数据,存入二维数组,包括首行 public static String[][] getSheetData(XSSFSheet sheet) thro ...
- java 写 Excel(不生成实体文件,写为流的形式)
java 写 Excel(不生成实体文件,写为流的形式) public String exportReportExcel(String mediaCode, List<SimpleMediaRe ...
- Java写Excel(不生成实体文件,写为流的形式)
java 写 Excel(不生成实体文件,写为流的形式) public String exportReportExcel(String mediaCode, List<SimpleMediaRe ...
- Java代码工具箱之解析单行单列简单Excel
1. 使用开源工具 jxl.jar 2. 功能:解析常规Excel.xls格式测试可行,xlsx未测试.Excel测试格式为常规类似table这种简单布局文件.第一行为标题,后面行为内容.代码 可正确 ...
- java导入导出excel常用操作小结及简单示例
POI中常用设置EXCEL的操作小结: 操作excel如下 HSSFWorkbook wb = new HSSFWorkbook(); //创建一个webbook,对应一个Excel文件 HSSFS ...
- 在.txt文件的首行写上.LOG后,后面每次对改文本文件进行编辑后,系统会自动在编辑内容后记录操作时间
在.txt文件的首行写上.LOG后,后面每次对改文本文件进行编辑后,系统会自动在编辑内容后记录操作时间
- Microsoft Excel 标题栏或首行锁定
Microsoft Excel 标题栏或首行锁定 在进行Excel编辑的时候,希望在浏览的时候,第一行或者第一列能够始终显示. 需要做的是:在Excel中选择 "视图"->& ...
随机推荐
- Qt 随机数
相关函数 #include <QtGlobal> qsrand(unsigned seed); qrand(); 以上函数产生的随机数为伪随机数.之所以称为伪随机数,有以下两点原因: ...
- JavaWeb中读取文件资源的路径问题 -- 转自新浪博客
在做javaweb开发的时候,我们可能会需要从本地硬盘上读取某一个文件资源,或者修改某一个文件,这个时候就需要先找到这个文件,然后用FileInputStrem等文件字节.字符流来将这个文件读取到内存 ...
- 发布程序时出现“类型ASP.global_asax同时存在于...”错误的解决办法
web程序发布后,通过浏览器访问程序显示如下的错误信息: 编译器错误消息: CS0433: 类型“ASP.global_asax”同时存在于“c:\WINDOWS\Microsoft.NET\Fram ...
- 解决thinkphp设置session周期无效的问题
thinkphp的session设置周期是无效的:直接的影响就是无法保留用户的登陆状态:用thinkphp开发的项目:关闭浏览器后用户就退出了:即便设置了session周期也没作用:这个bug存在很久 ...
- 关闭浏览器时的友情提醒jQuery写法
$(window).bind('beforeunload', function () { return '您确定退出该页面吗?'; }); 支持以下浏览器(对号表示支持,叉号表示不支持.):
- 一些你需要知道的Python代码技巧
被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能.本文或许能够让你学到一些新技巧. Python 是世界上最流行.热门的编程语言之一,原因很多,比 ...
- bash下. : () {} [] [[]] (())的解释
bash下有很多像{}.[]等一些符号命令,下面是我对一些常用的符号命令的学习笔记,若有错误或纰漏望各位兄弟指正. 一..(source).(点)与source命令一样,从文件中读取并执行命令,无论该 ...
- Java技术栈
内容: 1.Java基础(JavaSE) 2.数据结构与算法与设计模式 3.计算机理论知识 4.数据库 5.Java web(JavaEE) 6.消息队列 7.Linux及服务器相关 8.分布式相关 ...
- JavaScript函数及作用域
知识内容: 1.JavaScript函数 2.JavaScript全局函数及特殊函数 3.JavaScript作用域 4.本节练习 参考资料:<JavaScript高级程序设计> 一.Ja ...
- 手机app/h5页面http请求抓包调试
1.抓包机器跟客户端手机连上同一wifi热点,最好是第三者提供的移动wifi,公司内网wifi网络访问有限制. 2.设置手机客户端http代理 三者关系图示: