java导出csv方法实现讲解
2013-12-02 11:46
609 查看
首先,通过ibatis中的sql语句查询出所要得到的记录,并将其存放在List中:
List<?> results = this.reportService.getArrayBeanReportDataSource(super.getQuery_sql_csv(), query_obj);
这样的情况下,因为我们是要写公共方法,所以使用?而没有使用一个确定的类型来标注。
所以才需要使用反射从List里取出的对象的属性值。
复制代码 代码如下:String[] Column = super.getReport_data_column().split(",");
这句得到需要得到的属性,通过spring的注入实现。
复制代码 代码如下:StringBuffer sb = new StringBuffer();
Field[] fields = query_obj.getClass().getDeclaredFields();
通过getDeclaredFields();方法来获取对象中声明的属性。
然后,首先将需要的属性和所有的属性进行比较,因为后面的操作是在需要的属性下产生的,如果没有比较的话,导出的CSV文件中出现很多的空列,这个道理很容易想明白。
另外,还要注意,声明的属性在声明为private的时候,必须利用setAccessible()方法来设置其值可以取出。
最后,利用循环将各列的值用逗号分隔开写入文件就OK了。
复制代码 代码如下:for(Object object : results) {
try{
Field.setAccessible(fields, true);
for(int i=0;i<Column.length;i++){
for(int j=0;j<fields.length;j++){
if(fields[j].getName().equals(Column[i])){
if(i!=(Column.length-1)){
sb.append((fields[j].get(object)==null?"":fields[j].get(object))+",");
break;
}else{
sb.append((fields[j].get(object)==null?"":fields[j].get(object))+"\r\n");
break;
}
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
您可能感兴趣的文章:
相关文章推荐
- Java实现从网页表格导出CSV文件的例子
- JAVA以UTF-8导出CSV文件,用excel打开产生乱码的解决方法
- java使用itext导出PDF文本绝对定位(实现方法)
- 图文讲解Java中实现quickSort快速排序算法的方法
- PHP 实现从数据库导出到.csv文件方法
- 抽象工厂方法java实现代码及常用范围讲解
- Java实现从数据库导出大量数据记录并保存到文件的方法
- 如何开发一个java开源框架-----Jvn框架之实现文件的上传以及方法封装(第六讲)八哥实力讲解
- java生成csv文件乱码的解决方法示例 java导出csv乱码
- Android页面跳转实现方法讲解(纯java)
- Java导出数据库查询结果为excel和csv的简易实现
- Java多文件以ZIP压缩包导出的实现方法
- JAVA/SERVLET 以UTF-8导出CSV文件时产生乱码的解决方法
- [JAVA]Java导出Excel数据的一种方法(完美实现,包含表格线)
- Java导出csv文件乱码的解决方法
- Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
- java实现无组件导出CSV文件
- Android页面跳转实现方法讲解(纯Java)
- java实现CSV文件的导入导出操作
- java实现web的table导出到excel的3种方法分析