jsp页面端

<a href="/portal/server/importExec" title="Data Download">
<img src="${pageContext.request.contextPath}/style/images/excel6.jpg" width=20px height=20px style="padding-top:15px"/>
</a>

controller端处理

     @RequestMapping(value = "importExec", method = RequestMethod.GET)
@ResponseBody
public void importExec(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
String fname = "serverlist";
response.reset();// 清空输出流
response.setHeader("Content-disposition","attachment; filename=" + fname + ".xls");// 设定输出文件头
response.setContentType("application/msexcel");//EXCEL格式 Microsoft excel
//创建workbook
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFCellStyle style = workbook.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
HSSFFont f = workbook.createFont();
// f.setColor(HSSFColor.RED.index);
f.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);//加粗
style.setFont(f);
style.setFillForegroundColor(HSSFColor.LIME.index);
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //创建sheet页
HSSFSheet sheet = workbook.createSheet("Server Info.");
//创建单元格
HSSFRow row = sheet.createRow(0);
HSSFCell c0 = row.createCell(0);
c0.setCellValue(new HSSFRichTextString("No"));
c0.setCellStyle(style); HSSFCell c1 = row.createCell(1);
c1.setCellValue(new HSSFRichTextString("IP"));
c1.setCellStyle(style); HSSFCell c2 = row.createCell(2);
c2.setCellValue(new HSSFRichTextString("Server Name"));
c2.setCellStyle(style); HSSFCell c3 = row.createCell(3);
c3.setCellValue(new HSSFRichTextString("Server Usage"));
c3.setCellStyle(style); HSSFCell c4 = row.createCell(4);
c4.setCellValue(new HSSFRichTextString("CPU"));
c4.setCellStyle(style); HSSFCell c5 = row.createCell(6);
c5.setCellValue(new HSSFRichTextString("Memory"));
c5.setCellStyle(style); HSSFCell c6 = row.createCell(8);
c6.setCellValue(new HSSFRichTextString("HDD"));
c6.setCellStyle(style); HSSFCell c7 = row.createCell(11);
c7.setCellValue(new HSSFRichTextString("OS Version"));
c7.setCellStyle(style); HSSFCell c8 = row.createCell(12);
c8.setCellValue(new HSSFRichTextString("Manager"));
c8.setCellStyle(style); HSSFRow row1 = sheet.createRow(1);
HSSFCell c9 = row1.createCell(4);
c9.setCellValue(new HSSFRichTextString("Count"));
c9.setCellStyle(style);
HSSFCell c10 = row1.createCell(5);
c10.setCellValue(new HSSFRichTextString("Core Num."));
c10.setCellStyle(style);
HSSFCell c11 = row1.createCell(6);
c11.setCellValue(new HSSFRichTextString("Count"));
c11.setCellStyle(style);
HSSFCell c12 = row1.createCell(7);
c12.setCellValue(new HSSFRichTextString("Size (GB)"));
c12.setCellStyle(style);
HSSFCell c13 = row1.createCell(8);
c13.setCellValue(new HSSFRichTextString("Count"));
c13.setCellStyle(style);
HSSFCell c14 = row1.createCell(9);
c14.setCellValue(new HSSFRichTextString("Type"));
c14.setCellStyle(style);
HSSFCell c15 = row1.createCell(10);
c15.setCellValue(new HSSFRichTextString("Size (GB)"));
c15.setCellStyle(style);
sheet.addMergedRegion(new CellRangeAddress(0, 1,(short)0, (short)0));
sheet.addMergedRegion(new CellRangeAddress(0, 1,(short)1, (short)1));
sheet.addMergedRegion(new CellRangeAddress(0, 1,(short)2, (short)2));
sheet.addMergedRegion(new CellRangeAddress(0, 1,(short)3, (short)3));
sheet.addMergedRegion(new CellRangeAddress(0, 0,(short)4, (short)5));
sheet.addMergedRegion(new CellRangeAddress(0, 0,(short)6, (short)7));
sheet.addMergedRegion(new CellRangeAddress(0, 0,(short)8, (short)10));
sheet.addMergedRegion(new CellRangeAddress(0, 1,(short)11, (short)11));
sheet.addMergedRegion(new CellRangeAddress(0, 1,(short)12, (short)12)); List<Server> serverList = serverService.findServerList("");
for(int i=0;i<serverList.size();i++){
row=sheet.createRow((int)i+2);
Server server = (Server)serverList.get(i);
row.createCell((short)0).setCellValue(new HSSFRichTextString(i+1+""));
row.createCell((short)1).setCellValue(new HSSFRichTextString(server.getIp()));
row.createCell((short)2).setCellValue(new HSSFRichTextString(server.getName()));
row.createCell((short)3).setCellValue(new HSSFRichTextString(server.getUseFor()));
row.createCell((short)4).setCellValue(new HSSFRichTextString(String.valueOf(server.getCpuCount())));
row.createCell((short)5).setCellValue(new HSSFRichTextString(server.getCpuNumber()+""));
row.createCell((short)6).setCellValue(new HSSFRichTextString(server.getMemCount()+""));
row.createCell((short)7).setCellValue(new HSSFRichTextString(server.getMemSize()));
row.createCell((short)8).setCellValue(new HSSFRichTextString(server.getHddCount()+""));
row.createCell((short)9).setCellValue(new HSSFRichTextString(server.getHddType()));
row.createCell((short)10).setCellValue(new HSSFRichTextString(server.getHddSize()));
row.createCell((short)11).setCellValue(new HSSFRichTextString(server.getOsVersion()));
row.createCell((short)12).setCellValue(new HSSFRichTextString(server.getManager()));
} try{
workbook.write(response.getOutputStream());
}
catch (Exception e){
e.printStackTrace();
}
}

action的处理方法:

jsp端

 	 <a href="DownDefectServlet?projectname=<%=request.getParameter("projectname")%>&item=<%=request.getParameter("item")%>"  title="Data Download">
<img src="${pageContext.request.contextPath}/images/excel6.jpg" width=20px height=20px style="padding-top:15px"/>
</a>

web.xml加入

<servlet>
<servlet-name>DownDefectServlet</servlet-name>
<servlet-class>net.nw.servlet.DownDefectServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DownDefectServlet</servlet-name>
<url-pattern>/DownDefectServlet</url-pattern>
</servlet-mapping>

后台servlet处理

	public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { //int currpage = Integer.parseInt(request.getParameter("currpage")==null?"1":request.getParameter("currpage"));
String projectname=request.getParameter("projectname");
String item=request.getParameter("item");
String where=null;
int total=0;
if ("".equals(item)){
where="where PROJECTNAME like '%"+projectname+"%' AND STATUS != 'PLM_Deleted' and STATUS != 'Not_Related' and PLMFLAG='Y'" ;
}
else { //Opened
where="where PROJECTNAME like '%"+projectname+"%' AND STATUS != 'PLM_Deleted' AND STATUS != 'Closed' AND STATUS != 'Resolved' and STATUS != 'Not_Related' and PLMFLAG='Y'" ;
} response = ServletActionContext.getResponse();
String fname = "defectlist";
response.reset();// 清空输出流
response.setHeader("Content-disposition","attachment; filename=" + fname + ".xls");// 设定输出文件头
response.setContentType("application/msexcel");//EXCEL格式 Microsoft excel
//创建workbook
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFCellStyle style = workbook.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
HSSFFont f = workbook.createFont();
f.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);//加粗
style.setFont(f);
style.setFillForegroundColor(HSSFColor.LIME.index);
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //创建sheet页
HSSFSheet sheet = workbook.createSheet("Defect List");
//创建单元格
HSSFRow row = sheet.createRow(0);
HSSFCell c0 = row.createCell(0);
c0.setCellValue(new HSSFRichTextString("ID"));
c0.setCellStyle(style);
HSSFCell c1 = row.createCell(1);
c1.setCellValue(new HSSFRichTextString("Headline"));
c1.setCellStyle(style);
HSSFCell c2 = row.createCell(2);
c2.setCellValue(new HSSFRichTextString("Priority"));
c2.setCellStyle(style);
HSSFCell c3 = row.createCell(3);
c3.setCellValue(new HSSFRichTextString("ModelCode"));
c3.setCellStyle(style);
HSSFCell c4 = row.createCell(4);
c4.setCellValue(new HSSFRichTextString("Sub Component Name"));
c4.setCellStyle(style);
HSSFCell c5 = row.createCell(5);
c5.setCellValue(new HSSFRichTextString("Plat. Dev."));
c5.setCellStyle(style);
HSSFCell c6 = row.createCell(6);
c6.setCellValue(new HSSFRichTextString("Prod. Dev."));
c6.setCellStyle(style);
HSSFCell c7 = row.createCell(7);
c7.setCellValue(new HSSFRichTextString("Defect Solved Ver."));
c7.setCellStyle(style);
HSSFCell c8 = row.createCell(8);
c8.setCellValue(new HSSFRichTextString("Requester"));
c8.setCellStyle(style);
HSSFCell c9 = row.createCell(9);
c9.setCellValue(new HSSFRichTextString("Status"));
c9.setCellStyle(style);
HSSFCell c10 = row.createCell(10);
c10.setCellValue(new HSSFRichTextString("State Owner"));
c10.setCellStyle(style); ResultSet rs=null; total=this.getResultCount_1(where);
rs = this.getResultSet_1(where);
int i = 0;
try {
while (rs.next()) {
row=sheet.createRow((int)++i);
row.createCell((short)0).setCellValue(new HSSFRichTextString(rs.getString("ID")));
row.createCell((short)1).setCellValue(new HSSFRichTextString(rs.getString("HEADLINE").replaceAll("<", " <").replaceAll(">", " >")));
row.createCell((short)2).setCellValue(new HSSFRichTextString(rs.getString("SERIOUSNESS").replaceAll("<", " <").replaceAll(">", " >")));
row.createCell((short)3).setCellValue(new HSSFRichTextString(rs.getString("MODELCODE").replaceAll("<", " <").replaceAll(">", " >")));
row.createCell((short)4).setCellValue(new HSSFRichTextString(rs.getString("SUBCOMPONENTNAME").replaceAll("<", " <").replaceAll(">", " >")));
row.createCell((short)5).setCellValue(new HSSFRichTextString(rs.getString("PLATFORMDEVELOPER").replaceAll("<", " <").replaceAll(">", " >")));
row.createCell((short)6).setCellValue(new HSSFRichTextString(rs.getString("PRODUCTDEVELOPER").replaceAll("<", " <").replaceAll(">", " >")));
row.createCell((short)7).setCellValue(new HSSFRichTextString(rs.getString("DEFECTSOLVEDVERSION").replaceAll("<", " <").replaceAll(">", " >")));
row.createCell((short)8).setCellValue(new HSSFRichTextString(rs.getString("REQUESTER").replaceAll("<", " <").replaceAll(">", " >")));
row.createCell((short)9).setCellValue(new HSSFRichTextString(rs.getString("STATUS").replaceAll("<", " <").replaceAll(">", " >")));
row.createCell((short)10).setCellValue(new HSSFRichTextString(rs.getString("STATEOWNER").replaceAll("<", " <").replaceAll(">", " >"))); }
rs.close();
}catch (SQLException e) {
System.out.println(e.getMessage());
} try {
workbook.write(response.getOutputStream());
}
catch (Exception e){
e.printStackTrace();
}
}

后台数据download成excel的方法(controller/action)的更多相关文章

  1. sqlserver将数据库的数据导成excel文档方法

    sqlserver将数据库的数据导成excel文档方法 最近公司需要下载uniport的数据跟之前的数据进行对比,所以避免不了需要将数据库的数据导出来,把SQLServer表中的数据导出为Excel文 ...

  2. Pl/sql 如何将oracle的表数据导出成excel文件?

    oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件-- ; 结果视图 2)在查询结果的空白处,右键选择Copy to Excel 3) 查看导出e ...

  3. Echarts 数据视图 生成Excel的方法

    一.生成Excel,两大方向:1后台生成Excel 查询数据库,使用NOPI生成Excel.2前台js生成Excel三种方式1)jquery.table2excel.js --采用,优势:兼容IE和C ...

  4. Extjs — Grid数据导出成Excel

    最近因为项目问题,需要解决Extjs导出成Excel的问题. 下面简单描述这个问题解决的步骤如下: 1.先在js文件里写了一个button的handler事件,通过点击按钮,来实现调用ExportEx ...

  5. MySQL要导出成excel的方法

    MySQL 要导出成 excel 文件很简单,执行类似这样的命令:   select * from 某个表 into outfile  'd:/文件名.xls';   上述命令你在服务器上执行,就导在 ...

  6. php将数据库导出成excel的方法

    <?php $fname = $_FILES['MyFile']['name']; $do = copy($_FILES['MyFile']['tmp_name'],$fname); if ($ ...

  7. c# 数据导出成excel 方法总结 见标红部分

    public void ServiceOrderExport(string data) { StringBuilder sb = new StringBuilder(); Type entityTyp ...

  8. 使用SSM框架实现Sql数据导出成Excel表

    SSM框架实现SQL数据导出Excel 思路 首先在前端页面中添加一个导出功能的button,然后与后端controller进行交互. 接着在相应的controller中编写导出功能方法. 方法体: ...

  9. 有趣的Node爬虫,数据导出成Excel

    最近一直没更新了诶,因为学习Backbone好头痛,别问我为什么不继续AngularJs~因为2.0要出来了啊,妈蛋!好,言归正传,最近帮我的好基友扒数据,他说要一些股票债券的数据.我一听,那不就是要 ...

随机推荐

  1. 超链接解决头部fixed问题

    ///////////超链接解决头部fixed问题 $('a[href*=#]').click(function () { var top1 = $(".header").heig ...

  2. Python查询MySQL进行远程采集图片实例

    这是四五年以前做小说站采集图片时写过唯一一次 Python 代码 #!/usr/bin/python #-*-coding:utf-8-*- import MySQLdb, os, socket, t ...

  3. 《JS权威指南学习总结--6.2属性的查询和设置》

    内容要点: 一.数组元素通过字符串索引而不是数字索引,这种数组就是我们所说的关联数组,也称散列.映射或字典. 二.继承 1.JS对象具有"自有属性",也有一些属性是从原型对象继承而 ...

  4. 【转载】Recycle机制

    首先要明白,Recycle机制并不是Java中的垃圾回收机制,而是相当于一种设计模式 思想:当一个对象不再使用时,储存起来,而不是让虚拟机回收,需要的时候再用,避免对象被回收之后重分配 适用范围:对于 ...

  5. 翻扣告诉你外出旅游时实用的一些小tips

    很多人出行都会带着大包小包,东西胡乱塞成一团,导致每次要用的时候都翻个遍.所以今天游游君为大家推荐几个出门旅行的小技巧. 收拾行李时,把鞋子放进浴帽里.浴帽很容易洗干净,还可以防止鞋子把干净的衣服弄脏 ...

  6. gcc 编译

    ../gcc-5.2.0/configure --enable-threads=posix --disable-checking --disable-multilib --enable-languag ...

  7. Linux vim编辑器

    1.工作模式 命令模式(a,i,o等键)——>输入模式 输入模式(Esc键)——>命令模式 命令模式(:键)——>末行模式 末行模式(Esc键)——>命令模式 2.vim使用命 ...

  8. 一步一步学EF系列 【7、结合IOC ,Repository,UnitOfWork来完成框架的搭建】

    前言 距离上一篇已经有段时间了,最近这段时间赶上新项目开发,一直没有时间来写.之前的几篇文章,主要把EF的基础都讲了一遍,这批文章就来个实战篇. 个人在学习过程中参考博客: Entity Framew ...

  9. [转]整理jquery使用好习惯

    1.选择器Selector的使用 1)使用id定位性能最好   1.$("#id") 2)使用标签名定位,性能其次   1.$("p"),$("div ...

  10. iOS学习笔记(02) - 关键字 __kindof

    1.__kindof:表示当前类或它的子类. 2.__kindof书写格式:放在类型前面,表示修饰这个类型. 3.__kindof优点:在调用的时候,很清楚的知道返回类型. 直接举一个例子来形容这个问 ...