在运营后台开发场景中,经常会有导出数据的开发场景,而导出文件时一般都是使用cvs格式文件.虽然在大部分情况,我们都是使用公司封装好的方法直接进行调用,但是我们还是得知道如何进行文件的导出,如果进行文件的上传下载,不然有时无法解决一些特殊情况.下面是导出cvs文件的一个简单方法,如果想导出xls文件的话,那么下载相应的第三方jar依赖,然后使用相应的方法就行.

package com.gudt.example.controller;import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;/*** @Auther: lyf* @Date: 2019-08-08 20:34* @Description:*/
@Controller
public class TestController {/*** 需求:url的文件资源是一个txt文件,当浏览器获取到这个文件流的时候,浏览器会自动解析显示在浏览器上* 所以就无法进行文件的下载.但是如果将文件转换成cvs格式的话,那么浏览器就不会解析,就能进行文件的下载操作* cvs格式和xls格式很像,在开发中很常用* <p>* 这里的txt文件内容是规则的,每一行的格式如:'abc  abc',中间已字符串作为分隔符** @param url* @param response*/@RequestMapping("/transfer")public void transfer(String url, HttpServletResponse response) {try {URL resource = new URL(url);if (resource == null)return;try (BufferedReader in = new BufferedReader(new InputStreamReader(resource.openStream()));PrintWriter out = response.getWriter()) {String str;while ((str = in.readLine()) != null) {//将制表位替换成",",cvs格式文件会自动使用","来作为分隔符str.replace("\t", ",");//println会自动进行换行out.println(str);}response.setCharacterEncoding("UTF-8");//以二进制流的格式进行输出response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);//需要指定一下下载的文件名,否则格式无法识别response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("账号密码", "UTF-8") + System.currentTimeMillis() + ".csv");out.flush();} catch (IOException e) {e.printStackTrace();}} catch (MalformedURLException e) {e.printStackTrace();}}/*** 这样就能生成一个csv文件** @param response*/@RequestMapping("/testCvs")public void testCvs(HttpServletResponse response) {StringBuilder sb = new StringBuilder();sb.append("账号,密码\n");sb.append("abc,123\n");sb.append("abc,123\n");sb.append("abc,123\n");try {response.setCharacterEncoding("UTF-8");response.getWriter().write(sb.toString());//以二进制流的格式进行输出response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);//需要指定一下下载的文件名,否则格式无法识别response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("账号密码", "UTF-8") + System.currentTimeMillis() + ".csv");} catch (IOException e) {e.printStackTrace();}}}

导出cvs文件格式数据相关推荐

  1. mysql数据导入导出 CSV格式_MySQL中导入导出CSV格式数据

    原标题:MySQL中导入导出CSV格式数据 预备阅读:MySQL中的主键问题和赋权限问题 今天来讲一下在MySQL中导入和导出CSV格式数据的操作. CSV格式数据 逗号分隔值(Comma-Separ ...

  2. 导出 服务器 excel文件,服务器数据库导出excel文件格式

    服务器数据库导出excel文件格式 内容精选 换一换 GaussDB(DWS)支持使用gs_dumpall工具导出所有数据库的全量信息,包含集群中每个数据库信息和公共的全局对象信息.可根据需要自定义导 ...

  3. acrobat导出html没图片,PDF 导出的文件格式选项

    在线将 PDF 快速转换为 Word. 在线快速将 PDF 转换为 Excel. Acrobat 中 PDF 导出的文件格式选项 在使用 Acrobat 中的"导出 PDF"工具将 ...

  4. mysql数据导入导出 CSV格式_导出mysql的数据为csv格式的文件

    Mysql自带数据导出的命令 into outfile(本地导出) SELECT * FROM server_warning_repaired into outfile '/tmp/test.csv' ...

  5. php 导出cvs,php导出cvs文件简单类

    php导出cvs文件简单类/** * @author http://centphp.com/ * excel Tool */ class CvsExport { public static $read ...

  6. 服务器上的文件怎么导出excel,服务器数据库导出excel文件格式

    服务器数据库导出excel文件格式 内容精选 换一换 gs_dump和gs_dumpall通过-U指定执行导出的用户帐户.如果当前使用的帐户不具备导出所要求的权限时,会无法导出数据.此时,可在导出命令 ...

  7. java shell spool_批量快速的导入导出Oracle的数据(spool缓冲池、java实现)

    1. Java代码实现思路 BufferedWriter writefile = new BufferedWriter(new FileWriter(file)); writefile.write(& ...

  8. 导出采集文章数据-简数采集器

    简数采集器支持导出采集结果数据为excel.txt.csv.sql和Html等格式. 操作也很简单,只需要点击 "数据导出" 按钮即可. 然后继续配置导出选项: 1. 选择要导出的 ...

  9. JAVA导出exls时报oom_如何实现导出百万条数据到EXCEL中不报OOM异常?

    Java项目中使用POI导出百万条数据到Excel中,但是会出现内存溢出异常. 存在以下问题需要考虑POI导出条数限制6w+ 数据量大的话会导致内存溢出 现在的做法是每6w条数据做一次分割,创建一个新 ...

最新文章

  1. 中科院计算所沈华伟:GNN发展简史,诟病才是成长动力
  2. 左手程序员,右手作家:你必须会的Jupyter Notebook
  3. jquery ajax 序列化表单传参提交实体对象到后台action
  4. java getcurrentpid
  5. 一个关于导出excel模板的实例
  6. P2814-家谱【图论,并查集,std map库】
  7. 如何判断是不是真正的物理隔离网络光端机
  8. 项目管理:CocoaPods建立私有仓库
  9. c#使用资源文件完成国际化
  10. 软件概要设计书写模板
  11. 3D材质管理软件Adobe Substance 3D Sampler中文版
  12. 根据单词列表通过网络下载单词发音
  13. led拼接屏报价_液晶拼接屏报价大概多少钱一套?
  14. 天骄辅助外挂制作,寻求合作
  15. 大学英语六级翻译分类高频词汇
  16. js完美转换阿拉伯数字为数字大写
  17. 霍兰德人格分析雷达图
  18. 纯粹CSS 绘制向下箭头
  19. 计算机耐火等级不低于,网络信息安全知识:网吧营业场所应设置在耐火等级不低于()级的建筑物内。...
  20. 数据库显示连接服务器错误怎么解决方法,怎样解决数据库连接出错问题

热门文章

  1. Java POI XSSFWorkbook Excel中插入图片
  2. 【干货:Excel中插入图片的两种方式】
  3. 2018年异步畅销榜20本好书,本本都想要!
  4. iOS 中如何添加应用自己的字体,使用萍方体
  5. LDN DM(SM)RGB 60 REV:1.0B 蓝牙5.2双模PCB说明
  6. Caused by: java.lang.ClassNotFoundException: Didn't find class com.zyh.testswiperefresh.MainActivit
  7. LTE无线网络接入失败
  8. python小游戏打地鼠下载_Python 打地鼠小游戏
  9. 速普创新将人工智能引入孵化器产业
  10. 学会这3个Android Studio操作,保你月薪double