全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java导出生成csv文件的方法

本文实例为大家分享了java导出生成csv文件的具体代码,供大家参考,具体内容如下

首先我们需要对csv文件有基础的认识,csv文件类似excel,可以使用excel打开,但是csv文件的本质是逗号分隔的,对比如下图:

txt中显示:

修改文件后缀为csv后显示如下:

在java中我们一般使用poi操作excel,导入,导出都可以,但是poi很消耗内存,尤其在导出时,这个时候我们其实可以选择导出生成csv文件,因为其跟文本差不多,所以效率很高。

简单写了一个实现类,代码如下:

/**
  *    
  *     导出生成csv格式的文件
  * @author   ccg
  * @param   titles csv格式头文
  * @param   propertys 需要导出的数据实体的属性,注意与title一一对应
  * @param   list 需要导出的对象集合
  * @return
  * @throws   IOException
  * Created   2017年1月5日 上午10:51:44
  * @throws   IllegalAccessException 
  * @throws   IllegalArgumentException 
  */
 public static <T> String exportCsv(String[] titles,String[] propertys,List<T> list) throws IOException, IllegalArgumentException, IllegalAccessException{
  File file = new File("d:\\test.csv");
  //构建输出流,同时指定编码
  OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream(file), "gbk");
  
  //csv文件是逗号分隔,除第一个外,每次写入一个单元格数据后需要输入逗号
  for(String title : titles){
   ow.write(title);
   ow.write(",");
  }
  //写完文件头后换行
  ow.write("\r\n");
  //写内容
  for(Object obj : list){
   //利用反射获取所有字段
   Field[] fields = obj.getClass().getDeclaredFields();
   for(String property : propertys){
    for(Field field : fields){
     //设置字段可见性
     field.setAccessible(true); 
     if(property.equals(field.getName())){
      ow.write(field.get(obj).toString());
      ow.write(",");
      continue;
     }
    }
   }
   //写完一行换行
   ow.write("\r\n");
  }
  ow.flush();
  ow.close();
  return "0";
 }

测试类如下:

public void test() throws IOException, IllegalArgumentException, IllegalAccessException{
  String[] titles = new String[]{"ID","姓名"};
  String[] propertys = new String[]{"id","name"};
  List<User> list = new ArrayList<User>();
  User user;
  user = new User();
  user.setId(1L);
  user.setName("张三");
  list.add(user);
  user = new User();
  user.setId(2L);
  user.setName("李四");
  list.add(user);
  CsvUtil.getInstance().exportCsv(titles,propertys, list);
 }

导出后生成的文件跟上图一样,算是一个封装吧,传入表头,以及表头对应实体的属性即可,注意要一一对应。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# java  # csv  # Javacsv实现Java读写csv文件  # 使用Javacsv.jar的jar包操作csv文件的方法  # Java生成CSV文件实例详解  # java读取csv文件和写csv示例分享  # java读取csv文件示例分享(java解析csv文件)  # java生成csv文件乱码的解决方法示例 java导出csv乱码  # 一文秒懂通过JavaCSV类库读写CSV文件的技巧  # 写完  # 换行  # 第一个  # 很高  # 写了  # 这个时候  # 为其  # 可以使用  # 可以选择  # 大家分享  # 具体内容  # 大家多多  # 如下图  # 上图  # 单元格  # 李四  # 上午  # 见性  # title  # list 


相关文章: 电脑免费海报制作网站推荐,招聘海报哪个网站多?  ,sp开头的版面叫什么?  如何做网站制作流程,*游戏网站怎么搭建?  完全自定义免费建站平台:主题模板在线生成一站式服务  名字制作网站免费,所有小说网站的名字?  高端网站建设与定制开发一站式解决方案 中企动力  如何在Windows 2008云服务器安全搭建网站?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何通过免费商城建站系统源码自定义网站主题与功能?  如何在云指建站中生成FTP站点?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  婚礼视频制作网站,学习*后期制作的网站有哪些?  再谈Python中的字符串与字符编码(推荐)  个人摄影网站制作流程,摄影爱好者都去什么网站?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  桂林网站制作公司有哪些,桂林马拉松怎么报名?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  如何选择靠谱的建站公司加盟品牌?  实现虚拟支付需哪些建站技术支撑?  如何选择高效响应式自助建站源码系统?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  如何用VPS主机快速搭建个人网站?  常州企业网站制作公司,全国继续教育网怎么登录?  外贸公司网站制作哪家好,maersk船公司官网?  广州营销型建站服务商推荐:技术优势与SEO优化解析  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  如何用虚拟主机快速搭建网站?详细步骤解析  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  如何快速查询域名建站关键信息?  如何用PHP工具快速搭建高效网站?  h5网站制作工具有哪些,h5页面制作工具有哪些?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何通过wdcp面板快速创建网站?  建站之星多图banner生成与模板自定义指南  如何选择适合PHP云建站的开源框架?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何正确下载安装西数主机建站助手?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  如何正确选择百度移动适配建站域名? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。