问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JSP页面将查询结果导出为CSV文件

发布网友 发布时间:2022-04-28 18:10

我来回答

2个回答

热心网友 时间:2022-04-26 14:13

你好运气啊~~我前几天刚做过这个~~~
下面这大段代码是2个方法 除了在第一个方法里将文件名和要写入的表头改成你自己的之外其余照搬就可以了 最后只需用在你的主方法里调用这两个方法就行了
不易理解的地方我做了注释 祝你成功~~~

public File putOutTaskToExcelFile(List<E> getPutOutTaskResult) {
//在我的代码里,getPutOutTaskResult是我需要导出的信息列表,你换成你的就行
BufferedWriter out = null;
int random = (int) (Math.random() * 1000 + 1);
//这个随机数只是为了让后面生成的文件名不重复而已
File excelFile = null;
try {
excelFile = File.createTempFile("你的文件名" + random,".csv");
//生成一个csv临时文件
excelFile.deleteOnExit();
} catch (IOException e1) {
e1.printStackTrace();
}
int i = 1;
try {
out = new BufferedWriter(new FileWriter(excelFile));
out
.write("序号" + "," + "用户号码" + "," + "是否成功" + "," + "失败原因"
+ ",");//换成你需要的表头
out.newLine();
Iterator<E> resultIterator = getPutOutTaskResult.iterator();
while (resultIterator.hasNext()) {
E e = resultIterator.next();

out.write(i + "," + A + ","
+ B + "," + C);
//A、B、C等等都换上你自己的就可以 i是一个自增序号
out.newLine();
i++;
}
out.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return excelFile;
}

/**
* 将服务器端生成的Excel文件提供给客户端下载
*
* @param request
* @param response
* @param tempFile
*/
private void download(HttpServletRequest request,
HttpServletResponse response, File tempFile) {
String filenamedownload = tempFile.toString();
String filenamedisplay = tempFile.getName();
try {
filenamedisplay = URLEncoder.encode(filenamedisplay, "UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
response.addHeader("Content-Disposition", "attachment;filename="
+ filenamedisplay);
OutputStream output = null;
FileInputStream fis = null;
try {
output = response.getOutputStream();
fis = new FileInputStream(filenamedownload);
byte[] b = new byte[1024];
int i = 0;
while ((i = fis.read(b)) > 0) {
output.write(b, 0, i);
}
output.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
fis = null;
}
if (output != null) {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
output = null;
}
}
}

参考资料:拒绝投票 敬请理解

热心网友 时间:2022-04-26 15:31

。。很简单,就是用IO,输出个文件,扩展名写成csv就可以了,注意一下csv文件的格式,你自己创建一个两行两列的csv文件,然后用记事本打开看看就明白了。。。。。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 染色体畸变是在什么时期发生的? 染色体畸变有什么影响 求解、染色体畸变的意义是什么? 什么是为染色体疾病? 生物异变有哪几种类型,分别由什么引起的? 胎儿染色体异常是什么原因? 什么原因引起染色体异常? 染色体异常是什么? 什么是稳定型染色体畸变 染色体畸变和基因突变有什么区别 引起染色体畸变的原因是什么? 染色体畸变和基因突变要怎么区分呢 染色体异常,什么是染色体异常 染色体畸变检测主要是查什么?解决什么问题? 基因突变和染色体畸变有何区别和联系? 染色体畸变的四种类型 什么叫染色体畸变 袋装火鸡面一般多少钱? 火鸡面袋装的卖多少钱 火鸡面杯装和袋装的面饼是一样的吗 关于用jsp编写,导出数据库中文件为&quot;.csv&quot;文件问题 日语零是写ぜろ还是ゼロ? java将查询数据导出成csv文件的问题 日语怎么说零(0)都用ゼロ啊? java 如何生成csv文件 在线等待 如何在servlet中生成csv文件并压缩输出 日语0的三种说法的区别 把从数据库查出来的显示在jsp页面上的数据导出到excel中 求解 最好有完整代码 谢谢大神们 帮帮忙 jsp如何把数据库里的数据生成excel文档 QQ同步助手导出通讯录的格式是为何JSP,导出后不能上传到189邮箱,不支持这种格式.请赐教,谢谢! 请在这里概述您的问题QQ同步助手导出通讯录的格式,我选择了是CSV,可导出的格式为何是JSP? 想把MYSQL数据库中查询出来的数据导出到Access数据库,怎么实现?JSP开发的系统 jsp导成excel文本格式怎么搞?经理说在导出后面的值加个空格就可以了,但是我导出后面的值是函数 zip格式的文件怎么变成csv的格式的 现在接手一个java项目 批量导入模块,需提供jsp页面上excel导入功能 求设... 如何提高birt报表生成速度 CXF WebService 可以自定义返回类型为csv吗 jsp文件用什么程序打开? 怎样将outlook中的联系人同步到三星S4手机中 笔记本显卡GTX 765M相当于台式机的什么显卡?