今天在公司开发时,遇到这样一个需求:可以让客户下载excel文件。我写了代码之后,忽然意识到我这样的生成文件是本地的,也就是说是保存在服务器的。

有这样一个解决方案:先看Service层:

@Overridepublic String downloadPieceCost(PieceCostParam pieceCostParam) {XMLExcel e = new XMLExcel();e.setSheetName("线索收费明细表");String[] title = {"序号","机构名称","购买时间","数据包名称","购买线索条数","线索单价","线索收费"};try {List<PieceCostVO> pieceCostVOList = costRelatedService.getAllPieceCost(pieceCostParam);List<List<Object>> data = new ArrayList<>();for (PieceCostVO vo:pieceCostVOList){List<Object> row = new ArrayList<>();row.add(1+"");row.add(vo.getCompanyName());row.add(vo.getPurchaseTime());row.add(vo.getDataPackName());row.add(vo.getDataSum());row.add(vo.getDataCost());row.add(vo.getCostSum());data.add(row);}String excel = e.buildExcel(title, data);return excel;} catch (Exception ex) {ex.printStackTrace();logger.error("导出报表失败" + ex.getMessage());return e.buildExcel(title, null);}}

其次是Controller层:

    @RequestMapping("pieceCost")public void callReport(@RequestBody PieceCostParam pieceCostParam, HttpServletResponse response) throws UnsupportedEncodingException {String excel=excelExportService.downloadPieceCost(pieceCostParam);response.setContentType("application/vnd.ms-excel");String fileName = "线索收费明细-" + TimeHepler.dateToString(new Date(), "ddHHmm") + ".xls";response.addHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));OutputStream os;try {os = response.getOutputStream();os.write(excel.getBytes());} catch (IOException e) {e.printStackTrace();}}

返回结果:

<?xml version="1.0" encoding="UTF-8" ?><?mso-application progid="Excel.Sheet"?><Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"   xmlns:o="urn:schemas-microsoft-com:office:office"  xmlns:x="urn:schemas-microsoft-com:office:excel"  xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"  xmlns:html="http://www.w3.org/TR/REC-html40"> <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"><Created>Fri Aug 11 11:36:48 CST 2017</Created></DocumentProperties><Worksheet ss:Name="线索收费明细表"><Table ss:ExpandedRowCount="2">
<Row>
<Cell><Data ss:Type="String">序号</Data></Cell><Cell><Data ss:Type="String">机构名称</Data></Cell><Cell><Data ss:Type="String">购买时间</Data></Cell><Cell><Data ss:Type="String">数据包名称</Data></Cell><Cell><Data ss:Type="String">购买线索条数</Data></Cell><Cell><Data ss:Type="String">线索单价</Data></Cell><Cell><Data ss:Type="String">线索收费</Data></Cell></Row>
<Row>
<Cell><Data ss:Type="String">1</Data></Cell><Cell><Data ss:Type="String">杭州电子放假大学</Data></Cell><Cell><Data ss:Type="String">2017/08/10 16:10:26</Data></Cell><Cell><Data ss:Type="String">杭州电子放假大学的数据包</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="String">0.00</Data></Cell><Cell><Data ss:Type="String">0.00</Data></Cell></Row>
</Table>
</Worksheet>
</Workbook>

具体前端怎么生成excel文件,就不管啦!!!!!!!!!!

开玩笑开玩笑 ,工资重要工资重要!等有空看看怎么直接导出文件。

一百年后。。。。我终于知道怎么直接导出文件啦。集体看我的这篇文章─=≡Σ(((つ•̀ω•́)つ-------》Springmvc 生成并且下载文件--直接在浏览器下载。

关于客户端下载文件而不是在服务器生成文件相关推荐

  1. 如何在内存中创建文件供用户下载,而不是通过服务器下载?

    有什么方法可以在客户端上创建文本文件并提示用户下载文本文件,而无需与服务器进行任何交互? 我知道我不能直接写给他们的机器(安全性和全部),但是我可以创建并提示他们保存吗? #1楼 您甚至可以做一个比U ...

  2. 云服务器怎么拷贝和删除文件,怎样给云服务器拷贝文件

    怎样给云服务器拷贝文件 内容精选 换一换 本章节主要介绍云硬盘.弹性文件服务.对象存储服务等存储服务,让您更好的了解这些存储服务. 云服务器备份:云服务器备份可以对普通服务器进行整机备份或部分磁盘备份 ...

  3. es文件浏览器自动上传ftp服务器,es文件浏览器访问ftp服务器

    es文件浏览器访问ftp服务器 内容精选 换一换 WordPress简称WP,最初是一款博客系统,后逐步演化成一款免费的CMS(内容管理系统/建站系统).本文档指导用户使用华为云市场镜像"W ...

  4. 文件上传linux服务器,Linux 文件上传Linux服务器

    进入命令行 在图形化桌面出现之前,与Unix系统进行交互的唯一方式就是借助由shell所提供的文本命令行界面(command line interface,CLI).CLI只能接受文本输入,也只能显示 ...

  5. web文件怎么传到服务器,web文件传到服务器

    web文件传到服务器 内容精选 换一换 工具中所有涉及上传文件功能的,如果需要上传的文件大于1GB或者解压后超过剩余磁盘空间的一半,则需要释放磁盘空间或手动将文件上传至服务器,其他情况可通过Web界面 ...

  6. 云服务器怎么管理文件,怎么管理云服务器的文件

    怎么管理云服务器的文件 内容精选 换一换 区块链服务状态为"异常".•排查项一:区块链依赖的集群.服务器.存储等资源是否正常.•排查项二:云服务器节点资源规格不足.排查项一:区块链 ...

  7. 服务器传文件的工具,向服务器传文件的工具

    向服务器传文件的工具 内容精选 换一换 Web服务端证书,即鲲鹏性能分析工具的Web服务端与Web浏览器之间通讯的证书.已成功登录鲲鹏性能分析工具.只有管理员用户(tunadmin)可以执行生成CSR ...

  8. 电脑与云服务器传输文件,电脑与云服务器传输文件

    电脑与云服务器传输文件 内容精选 换一换 当创建文件系统后,您需要使用云服务器来挂载该文件系统,以实现多个云服务器共享使用文件系统的目的.本章节以Windows 2012版本操作系统为例进行CIFS类 ...

  9. es文件浏览器添加ftp服务器,es文件浏览器新建ftp服务器

    es文件浏览器新建ftp服务器 内容精选 换一换 本文以裸金属服务器的操作系统为"Windows Server 2012 R2 Standard 64bit".云硬盘容量为3 TB ...

最新文章

  1. SQL2008 提示评估期已过的解决方法
  2. python 文字语音朗读-python 利用pyttsx3文字转语音
  3. mapper命名规范_Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件
  4. 【转】我的CV之路第一篇:ITK是啥?
  5. linux的基础知识——shell语法
  6. Myeclipse10.7安装git插件并将Java项目上传到码云(github)
  7. Python爬虫从入门到放弃(十三)之 Scrapy框架的命令行详解
  8. 关于对玩过的游戏的想法汇总
  9. Security log is full,only administrator can log on to fix the problem(安全日志满了)
  10. 2048小程序代码c语言,微信小程序版2048
  11. 【吴恩达机器学习】正则化
  12. python学习手册 第7章 字符串
  13. PCWorld评10大科技产品:IBM超级计算机上榜
  14. log4j日志级别配置完成后不生效 系统一直打印debug日志
  15. assets文件夹资源的访问
  16. Java版Spring Cloud B2B2C o2o鸿鹄云商平台--概述
  17. 什么是CSR证书申请文件?
  18. 等价多米诺骨牌对的数量
  19. 实现中文唇语识别的多种途径
  20. 笨鸟之Serlvet解析

热门文章

  1. 计算机应用基础考试试题及答案 在word中,用户建立的文件默认,2009年10月全国自考计算机应用基础历年真题...
  2. C语言 switch多分支语句实现根据等级划分分数段
  3. JavaScript的佛祖保佑
  4. SPA与MPA的区别
  5. bcmsh交换芯片调试接口
  6. Altium Designer 18中的Violations Associated with Components
  7. 手把手带你入坑树莓派(3B+)之第二篇,使用Putty与电脑VNC远程控制树莓派
  8. 怎样提高英语思维能力?
  9. 无人机开发-图传技术浅析
  10. kettle性能及效率提升