本文实例为大家分享了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小时内与您取得联系。