`
酷的飞上天空
  • 浏览: 521734 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

导出excel并提供下载

 
阅读更多

工作中需要动态生成excel并提供下载,留在这个为了以后方面COPY。

 

 

 

	protected void responseExcel(String filename,List<String> title,List<String> mapKey,List<Map<String, Object>> reportList,HttpServletResponse resp) throws Exception{
		resp.setHeader("Content-disposition", "attachment; filename="+URLEncoder.encode("下载文件名.xls", "UTF-8"));// 设定输出文件头
		resp.setContentType("application/msexcel");// 定义输出类型
		resp.getOutputStream().flush();   //立刻弹出下载提示框
		
		WritableWorkbook book = Workbook.createWorkbook(resp.getOutputStream());
	    WritableSheet wsheet = book.createSheet("sheet1", 0);
	       //    设置单元格的文字格式
        WritableFont wf = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE,Colour.BLACK);
        WritableCellFormat wcf = new WritableCellFormat(wf);
        wcf.setVerticalAlignment(VerticalAlignment.CENTRE); 
        wcf.setAlignment(Alignment.CENTRE); 

        Label label = null;
        for(int i=0;i<title.size();i++){
        	label = new Label(i, 0, title.get(i),wcf);
        	wsheet.addCell(label);
        }
        WritableCellFormat cf1 = new WritableCellFormat(new DateFormat("yyyy-MM-dd"));
        WritableCellFormat cf2 = new WritableCellFormat(NumberFormats.INTEGER);
        WritableCellFormat cf3 = new WritableCellFormat(NumberFormats.FLOAT);
        Object value = null;
        for(int i=0;i<reportList.size();i++){
            for(int j=0;j<mapKey.size();j++){
            	value = reportList.get(i).get(mapKey.get(j));
            	if(value == null){
            		wsheet.addCell(new Label(j,i+1,""));
            		continue;
            	}
            	if(value instanceof Integer){
            		wsheet.addCell(new jxl.write.Number(j,i+1,(Integer)value,cf2));
            	}else if(value instanceof Float){
            		wsheet.addCell(new jxl.write.Number(j,i+1,(Float)value,cf3));
            	}else if(value instanceof Date){
            		wsheet.addCell(new DateTime(j,i+1,(Date)value,cf1));
            	}else{
            		wsheet.addCell(new Label(j,i+1,value+""));
            	}
            }
        }
        book.write();
        book.close();
	}

 

分享到:
评论

相关推荐

    C# NPOI 导出Excel

    你可以通过NuGet包管理器安装NPOI,或者手动下载并添加到项目中。 2. 创建工作簿对象:使用HSSFWorkbook或XSSFWorkbook类创建一个新的Excel工作簿实例。这将是Excel文件的基础容器。 3. 添加工作表:使用工作簿...

    导出Excel功能,导出Excel功能,导出Excel功能

    7. **错误处理**:考虑到可能出现的异常情况,如磁盘空间不足、文件权限问题等,应有适当的错误处理机制,并提供用户友好的反馈信息。 8. **安全性**:为保护数据,可以加密Excel文件或限制打开权限。同时,需要...

    使用aspose导出Excel(根据模板导出excel).zip

    在本示例中,我们将深入探讨如何使用Aspose库在.NET环境中根据模板导出Excel电子表格。这个过程涉及到多个步骤和技术,包括理解Aspose的API、模板设计以及数据注入。 首先,Aspose库提供了强大的Excel操作功能,...

    js导出excel.zip

    "js导出excel.zip"这个压缩包提供了一个解决方案,它结合了EasyUI和DataGrid组件,支持多表头和数据值的格式化功能,适用于QUICKUI和QUIGRID环境,生成的文件格式为.xls,即传统Microsoft Excel 97-2003格式。...

    ext实现导出excel的功能。

    在EXTJS这个强大的JavaScript框架中,实现导出...通过理解并应用上述知识点,我们可以构建一个功能完备且用户友好的EXTJS导出Excel功能。在实际开发中,根据项目需求和资源,可以选择合适的方法和技术来实现这一功能。

    Ext Grid 导出Excel

    这篇博客"Ext Grid 导出Excel"可能详细介绍了如何实现这一功能。 首先,让我们理解Ext Grid的基本工作原理。Ext Grid是Sencha Ext JS框架的一部分,它允许开发者创建可配置的表格视图,可以显示从服务器获取的数据...

    poi导出根据模板导出excel和简单列表导出excel源码

    总结来说,"poi-excel-handler" 是一个使用 Apache POI 实现的工具,它提供了根据模板导出和简单列表导出 Excel 的功能。通过利用 POI 的 API,它能够有效地处理大量数据,同时保持代码的可读性。在实际项目中,这样...

    CloseXML导出Excel Demo

    这个"CloseXML导出Excel Demo"提供了使用CloseXML库在C#中创建和导出Excel文件的示例。下面我们将深入探讨CloseXML库以及如何利用它来实现Excel操作。 CloseXML是一个开源的.NET库,它为处理Open XML文档(如...

    jquery 导出excel方法

    下面将详细介绍jQuery导出Excel的方法,以及相关知识点。 1. **jQuery插件:TableExport** 文件`tableExport.jquery.plugin-a891806`可能是一个名为TableExport的jQuery插件,它允许开发者将HTML表格数据导出为...

    java导出excel(写入到excel后再下载)示例

    通过阅读和学习这个示例,你可以掌握Java导出Excel的基本步骤,并将其应用到自己的项目中。此外,还可以了解如何在Web环境中优雅地处理文件下载,这对构建企业级应用非常有用。记住,实际使用时需要根据具体需求进行...

    导出EXCEL文件导出EXCEL

    用于考核的系统,导出EXCEL导出EXCEL

    layui数据表格导出Excel插件

    layui数据表格导出Excel插件是一款为layui框架设计的实用工具,它允许用户方便地将layui数据表格中...总之,layui数据表格导出Excel插件提供了一个高效、便捷的解决方案,使得在layui项目中实现数据导出变得轻而易举。

    pb导出excel2007

    "pb导出excel2007"这个主题涉及到的是如何在PowerBuilder中将数据窗口(DataWindow)的内容导出到Excel 2007格式的文件中。在实际开发中,有时我们需要将PB的数据窗口数据导出到Excel以便于分析、处理或分享,而这个...

    基于SpringBoot和POI实现单线程和多线程导出Excel.zip

    基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip基于SpringBoot和POI实现单线程和多线程导出Excel.zip...

    多表头导出Excel

    导出Excel表格 /// 导出Excel /// 创建Excel并写入数据 /// List转化为DataTable /// 转换数据类型

    vue导出excel并修改表头样式

    6. **导出文件**:生成Excel文件并提供下载。`xlsx`库提供了`writeFile`方法,可以将工作簿保存为文件: ```javascript XLSX.writeFile(wb, 'output.xlsx'); ``` 如果需要在浏览器环境中触发下载,可以使用`...

    GridControl通用导出Excel

    ### GridControl通用导出Excel知识点解析 #### 一、GridControl通用导出Excel概述 GridControl是DevExpress提供的一款用于展示和编辑数据的强大组件。在实际应用中,常常需要将GridControl中的数据导出到Excel中,...

    lodop导出ExcelDemo

    5. 执行导出:调用LODOP的相应方法,执行数据到Excel的转换,并通常会提供一个下载对话框供用户保存文件。 "exe"标签可能指的是LODOP服务端程序的可执行文件,它在服务器端运行,处理来自浏览器的打印请求。用户在...

    从DBGrid导出到Excel表格 4种方法

    在该方法中,我们使用了第三方组件,例如报表组件或数据导出组件等,该组件提供了丰富的功能来将 DBGrid 的数据导出到 Excel 表格中。 總之,从 DBGrid 导出到 Excel 表格有多种方法,每种方法都有其优缺。开发者...

Global site tag (gtag.js) - Google Analytics