jsp创建excel文件 ,并指定下载路径_轻松qinsong的博客-程序员秘密

技术标签: Java-API  

//下载excel文件
			@RequestMapping(value="loadExcel.do",method=RequestMethod.GET)
			public void loadTxt(HttpServletRequest request,HttpServletResponse response){
				List<Domain> xls = new ArrayList<Domain>();
				Domain d1 = new Domain();
				Domain d2 = new Domain();
				d1.setDomain("***");
				d1.setDomain_type("***");
				xls.add(d1);
				d2.setDomain("***");
				d2.setDomain_type("***");
				xls.add(d2);
				
				int n = 1 ;
		        // 获取总列数 
		        int CountColumnNum = 2; 
		        // 创建Excel文档 
		        HSSFWorkbook hwb = new HSSFWorkbook(); 
		        Domain domain = null; 
		        // sheet 对应一个工作页 
		        HSSFSheet sheet = hwb.createSheet("js3"); 
		        HSSFRow firstrow = sheet.createRow(0); // 下标为0的行开始 
		        HSSFCell[] firstcell = new HSSFCell[CountColumnNum]; 
		        String[] names = new String[CountColumnNum]; 
		        names[0] = "**"; 
		        names[1] = "**";

		        for (int j = 0; j < CountColumnNum; j++) { 
		            firstcell[j] = firstrow.createCell(j); 
		            firstcell[j].setCellValue(new HSSFRichTextString(names[j])); 
		        } 
		        for (int i = 0; i < xls.size(); i++) { 
		            // 创建一行 
		            HSSFRow row = sheet.createRow(i + 1); 
		            // 得到要插入的每一条记录 
		            domain = xls.get(i); 
		            for (int colu = 0; colu <= 4; colu++) { 
		                // 在一行内循环 
		                HSSFCell xh = row.createCell(0); 
		                xh.setCellValue(domain.getDomain()); 
		                HSSFCell xm = row.createCell(1); 
		                xm.setCellValue(domain.getDomain_type()); 
		            } 
		        } 
		        // 创建文件输出流,准备输出电子表格 
		        String excel_name = "**.xls";
		        OutputStream out = null;
		        
		        response.setContentType("application/x-download");
				response.setHeader("content-disposition", "attachment; filename="+excel_name);
				response.setHeader("Content-type", "charset=UTF-8");  
				response.setContentType("");  
				try {
					out=response.getOutputStream();
				} catch (IOException e1) {
					e1.printStackTrace();
				}
				try {
					hwb.write(out);
					out.close();
				} catch (FileNotFoundException e) {
					e.printStackTrace();
				} catch (IOException e) {
					e.printStackTrace();
				} 
			}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014136910/article/details/50202489

智能推荐

相机标定算法——OpenCV_Rosiness^的博客-程序员秘密_图像标定算法

#include &lt;iostream&gt;#include &lt;sstream&gt;#include &lt;time.h&gt;#include &lt;stdio.h&gt;#include &lt;fstream&gt;#include &lt;opencv2/core/core.hpp&gt;#include &lt;opencv2/imgproc/imgproc.hpp&gt;#include &lt;opencv2/calib3d/calib3d.hpp&gt;#i

目标检测算法基础_Jiaxxxxxx的博客-程序员秘密

人脸检测算法综述0 前言1 人脸检测算法难点2 人脸检测算法流程2.1 选择检测窗口2.2 提取图像特征2 人脸检测算法2.1 早期算法2.2 AdaBoost框架2.3 深度学习0 前言人脸检测是目标检测的其中一个方向,它在安防监控、人证比对、人机交互、社交和娱乐等方面有很强的应用价值,也是人脸识别算法、人脸关键点检测算法、人脸位姿估计算法等的第一步。人脸检测任务关注的是图像中人脸的位置,包含了两个子任务:其一是输出这一目标的类别信息,属于分类任务;其二是输出目标的具体位置信息,属于定位任务。1

C++ delete指针需置空_Jiaxxxxxx的博客-程序员秘密_c++ delete指针

delete指针之后,一定要给指针赋值为空,不然会引起程序崩溃。T* p = new T();delete p;// ...p-&gt;func(); // crashif (p) { p-&gt;func(); // crash too}以上代码,因为指向的内存已经被释放,导致后面的调用失效,这种情况导致程序崩溃的原因会非常难找,而且出错的位置很难定位,开发时往往还容易遇到很多这种情况。那么delete到底做了什么动作呢?delete指针只是释放了那个指针原本所指的内存而已,并没

物联网、大数据和云计算的关系_互联互通社区的博客-程序员秘密

我们正在进入物联网,大数据分析和云计算时代。这些技术中的每一个都有一些瓶颈,例如可伸缩性差,安全性问题,安装困难,容错,维护以及传统信息技术框架中的低性能。因此,我们需要利用这些技术中的每...

Android学习笔记之AndroidManifest.xml文件解析_very_on的博客-程序员秘密

一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent

随便推点

浅析微信支付:开通社交立减金活动、创建立减金及领取使用的相关文档和源码_YClimb的博客-程序员秘密

本文是【浅析微信支付】系列文章的第十七篇,主要讲解在在微信平台中,如何创建优惠券,开通社交立减金,并为用户配置发送立减金。上篇文章已经为大家讲解了如何在微信公众平台创建优惠券并为用户发券,这片文章是优惠券的一个进阶,讲解微信平台上的社交立减金用法,希望可以帮助到大家。应用场景小程序社交立减金是一款帮助商家快速生成具备裂变传播属性的小程序经营工具,用户通过支付、扫码等场景可以参与社交立减...

Java 文件上传 MultipartFile_caox_nazi的博客-程序员秘密

Java 文件上传 MultipartFile1. 配置MultipartResolver:用于处理表单中的file <beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defau

根据sessionId获取Session对象_Mountain_的博客-程序员秘密

Servlet2.1之后不支持SessionContext里面getSession(String id)方法。但是,我们可以通过HttpSessionListener监听器和全局静态map自己实现一个SessionContext。MySessionContext.java:public class MySessionContext {    private static HashMap...

Java基础系列:判断空指针的三种方式_天然玩家的博客-程序员秘密_java空指针判断

空指针:针对对象类型,对象在堆中分配“房子”。空指针(null)的对象没有分配到“房子”,所以,无法使用该对象。使用任何的对象数据时,都要进行空指针判断。通用的方式有三种:(1)null显式判断(2)Objects.isNull(Object)隐式判断(3)CollectionUtils工具判断空指针和空数据

ArcGIS生成三维线的中间点数据_yangyoung4ever的博客-程序员秘密

ArcGIS生成三维线的中间点数据1.导出表,选择所需的字段2.添加字段,计算中点的XYZ3.在ArcMap中添加该数据后右键 -“显示XY数据”选择创建的字段和正确的坐标系,此时变成了点事件,还需导出为shp4.点事件导出数据...