欲实现的功能目标:当点击下图的导出数据文件时弹出文件下载框,默认csv格式,用户自定义下载的本地路径

遇到的问题:

1.项目之前做过一次下载,但是是使用了本地文件模板。用输入流读取文件模板,插入数据,以输出流输出,弹出下载框下载。而这次的情况是不能在后台指定本地文件路径,也就是无法读取模板文件,直接将数据库查询出的数据写成指定格式并供用户选择地址下载。省去输入流读取本地文件一环。

2.下载框始终无法弹出,而是直接在页面显示数据。

解决:

1.

 /**
* 导出CSV数据
* @return 数据
*/
@RequestMapping(value = "dataExport",method = RequestMethod.POST)
public void dataExport(HttpServletResponse response) throws Exception{ //查询出需要打印的数据
List<DsPrintTask> list=sc182211Logic.findDataExport(); //设置下载弹出框
response.setContentType("application/csv;charset=gbk");
response.setHeader("Content-Disposition","attachment;filename="+URLEncoder.encode("打印标签.csv", "UTF-8"));
//新建打印输出对象
PrintWriter out = response.getWriter(); out.write("任务编码,操作码,阅读码,品牌名, 等级名"+"\n");
for(DsPrintTask s:list){
out.write(s.getPrintTaskId()+","+s.getOperateBar()+","+s.getReadBar()+","+s.getBrandName()+","+s.getGradeName()+"\n");
}

2.下载框不弹出,文件内容在网页直接显示的原因是请求方式有问题。下面代码中的

$("#main-content").postUrl(Main.contextPath + "/SC182211/dataExport");是用的公司框架里自己封装的JS方法,使用这个会造成下载框不弹出的问题。于是使用后面的form表单提交方法
 $("#SC182211_EXPORT").click(function(){
// $("#main-content").postUrl(Main.contextPath + "/SC182211/dataExport"); var form = $("<form>"); //定义一个form表单
form.attr('style', 'display:none'); //在form表单中添加查询参数
form.attr('target', '');
form.attr('method', 'post');
form.attr('action', "/msk-web/SC182211/dataExport"); var input1 = $('<input>');
input1.attr('type', 'hidden');
input1.attr('name', 'strUrl'); $('body').append(form); //将表单放置在web中
form.append(input1); //将查询参数控件提交到表单上
form.submit();
});

【Java】数据库查询的数据直接以指定文件类型下载到本地(弹出下载框)的更多相关文章

  1. File操作-将数据库里的数据写入到指定路径的txt文件里

    package com.Cristin.File;//将数据库里的数据写入到指定路径的txt文件里 import java.io.File;import java.io.FileOutputStrea ...

  2. 用java语言将数据库中的数据表转换为xml文件的通用程序(细化)

    转自:https://www.cnblogs.com/wudage/p/7650685.html 总是在网络上copy别人的源代码,今天我也贴出自己今天写的源码,相信这个程序会对大家在平时的工作中需要 ...

  3. 【spring data jpa】使用repository进行查询,使用userRepository.getOne(id)和userRepository.findById(id)无法从数据库查询到数据

    如题: 使用repository进行查询,使用CrudRepository自带的getOne()方法和findById()方法查询,数据库中有这条数据,但是并不能查到. userRepository. ...

  4. Linq查询非泛型集合要指定Student类型(比如List)

    #region Linq to 集合查询非泛型集合要指定Student类型            //ArrayList list = new ArrayList();            //li ...

  5. JAVA导出excel 直接弹出下载框

    转自:https://blog.csdn.net/qq_38423105/article/details/80782283 效果展示: 1.首先准备jar包 <dependency>    ...

  6. 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法

    在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...

  7. HTML input="file" 浏览时只显示指定文件类型 xls、xlsx、csv

    html input="file" 浏览时只显示指定文件类型 xls.xlsx.csv <input id="fileSelect" type=" ...

  8. <input type="file" />浏览时只显示指定文件类型

    <input type="file" />浏览时只显示指定文件类型 <input type="file" accept="appli ...

  9. findstr 只搜寻指定文件类型

    Title:findstr 只搜寻指定文件类型 --2012-05-04 09:27 findstr /i /m /S /C:"关键字"  *.php *.asp *.jsp

随机推荐

  1. 程序与程序之间共享对象:MarshalByRefObject

    源自于:http://stackoverflow.com/questions/439173/message-pumps-and-appdomains/442316 程序与程序之间共享对象: Marsh ...

  2. 【SHOI2008】堵塞的交通

    题面 题解 这里提供几种不用脑子的算法(当然是离线的): $\text{LCT}$ 记下每条边的删除时间,用$\text{LCT}$维护最大生成树,每次加进一条边时,跟原来那条链上的做比较,删除那条删 ...

  3. sql异常 获取数据失败的原因及解决方案

    使用dbutils工具类时 不能使用char作为sql的字段类型 报错提示不能转换 所以替换成别的(一般是String)即可

  4. springmvc controller常见问题

    controller 的各种操作都是依赖服务器启动后来注入很多功能的,所以热部署经常会没有效果(因为没有被注入,除非在 方法名() 的括号中定义对象 [ 例如: HttpServletResponse ...

  5. 六、Django之Template

    一.Template由来 1.任何前端页面的改动都和后端有关: 2.前端HTML和后端python分开能让网站更加清晰: 3.前后端分离的趋势下,专业的事交给专业的人做. 二.Django中的temp ...

  6. toString()方法简单分析

    问题描述 今天在使用spotbugs代码走查时发现这样一个问题,如下, String[] myArray=new String[] {"1","2"," ...

  7. Karma与TSLint

    TSLint TSLint是一个可扩展的静态分析工具,用于检查TypeScript代码的可读性,可维护性和功能性错误.收到现代编辑和构建系统的广泛支持,并且可以使用您自己的路由,配置和格式化. 安装 ...

  8. 我们一起学习WCF 第四篇单通讯和双向通讯

    前言:由于个人原因很久没有更新这个系列了,我会继续的更新这系列的文章.这一章是单向和双向通讯.所谓的单向就是只有发送却没有回复,双向是既有发送还有回复.就是有来无往代表单向,礼尚往来表示双向.下面我用 ...

  9. 利用工厂模式实现serviec层和dao层解耦

    利用工厂模式实现serveice和dao层的解耦,这样就可以不用在service层实例化dao层的对象,当dao层代码发生改变的时候(数据库实现发生改变)直接修改配置文件就不用改变service层的代 ...

  10. UI优秀框架(库)

    1.vux 官网:https://doc.vux.li/zh-CN/ Github:https://github.com/airyland/vux 13818  Stars  3064 Forks   ...