知道表头、各行数据得到CSV文件流数据
来源:互联网 发布:java file 相对路径 编辑:程序博客网 时间:2024/05/29 10:08
import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set; * */public class ExportCsvUtils {/** * CSV文件的分隔符 */private static String split = ",";/** * 换行符 */private static String lineEnd = "\r\n";/** * 导出带序号的cvs文件 * @param titleMap 数据库列名与列中文名对应关系 :表头 * @param list 用于生成文件的数据列表 :具体数据 * @return */@SuppressWarnings("rawtypes")public static String toCsv(Map titleMap,List list) {StringBuffer csv = new StringBuffer("序号");String title = split+getCsvTitle(titleMap);csv.append(title).append(lineEnd);Set titleSet = titleMap.keySet();for (int i = 0; i < list.size(); i++) {Map mapList = (Map) list.get(i);Iterator it = titleSet.iterator();csv.append(i+1).append(split);while(it.hasNext()){csv.append(processString((String)mapList.get((String)it.next()))).append(split);}csv.replace(csv.length()-split.length(), csv.length(), lineEnd);//替换最后的 split}return csv.toString();}/** * 处理字符串(为null、包含","的情况) * * @param s * @return */private static String processString(String s) {if (s == null) {return "";}if (s.indexOf(split) == -1) {return s.replaceAll("\n", "").replaceAll("\t", "");} else {return "\"" + s.replaceAll("\n", "").replaceAll("\t", "") + "\"";}}/** * 生成并返回CSV文件的标题 * * @param csv * @return */@SuppressWarnings("rawtypes")private static String getCsvTitle(Map titleMap) {StringBuffer title = new StringBuffer();Set titleSet = titleMap.keySet();Iterator iterator = titleSet.iterator();while(iterator.hasNext()){String tmp = (String)titleMap.get((String)iterator.next());title.append(tmp).append(split);}title.replace(title.length()-split.length(), title.length(), "");//替换最后的 splitreturn title.toString();}}
0 0
- 知道表头、各行数据得到CSV文件流数据
- 读取CSV文件数据,得到DataSet
- Bcp导出数据库数据为CSV文件(不带表头)
- 导出数据库中表数据为CSV文件(带表头)
- 读取.csv文件数据
- CSV文件数据导出
- 各行业大数据分析报告
- 数据库数据用CSV导出带出表头
- 导出数据到CSV文件
- CSV文件写入数据规则
- matlab读取csv文件数据
- MongoDB 导入数据(CSV文件)
- List数据生成CSV文件
- mysql导入csv文件数据
- 【python数据分析】CSV文件数据读写
- QTP 依次读取文本中的各行数据
- csv 导出数据到csv或者xls文件
- MySQL 直接读取csv文件数据到表中
- 意识形态和左右派
- 基础知识—循环语句-while
- Scala函数
- libevent 事件(一)---概述
- JVM类加载机制
- 知道表头、各行数据得到CSV文件流数据
- 青蛙 扩展欧几里德
- 博客第一篇文
- Android无法收到指定广播的问题总结
- ZOJ2482 IP Address
- nginx配置虚拟机
- 多线程之生产者与消费者模式
- Uva 1587:Box
- 内存