csv测试类。用起来,就是那么简单。每个单元格都是以逗号分隔
package com.hyxt.wxpay.util; import java.io.File; import java.util.ArrayList; import java.util.List; import org.junit.Test; /** * CSV操作(导出和导入) * * @author 林计钦 * @version 1.0 Jan 27, 2014 4:17:02 PM */ public class CsvTest { /** * CSV导出 * * @throws Exception */ @Test public void exportCsv() { List<String> dataList=new ArrayList<String>(); String money = ""; money = "\"AA,BB,CC\",\"231,231,231,215.99\""; // money = "`AA,`BB,`CC,`231,215.99"; // money = money.replaceAll(",", ",\""); // dataList.add(money); // money = "`12,`33,\"44\"\t,\"231,215.99\"\t"; // String money = ",`1004760934201504280095156624,"; // money = ",\"1004760934201504280095156624\"\t,"; dataList.add("\"1004760934201504280095156624\"\t,\"231,215.99\""); dataList.add("\"1004800934201504270092770541\"\t,\"1.1\""); dataList.add("\"1002190934201504260091077987\"\t"); dataList.add(money); System.out.println(dataList); boolean isSuccess=CSVUtils.exportCsv(new File("E:/export/ljq"+Math.random()+".csv"), dataList); // boolean isSuccess=CSVUtils.exportCsv(new File("E:/export/ljq"+DateUtil.getCurrentDateStr(DateUtil.DATETIMEFMTSSSS)+".csv"), dataList); System.out.println(isSuccess); } /** * CSV导导入 * * @throws Exception */ // @Test public void importCsv() { List<String> dataList=CSVUtils.importCsv(new File("E:/test/ljq.csv")); if(dataList!=null && !dataList.isEmpty()){ for(String data : dataList){ System.out.println(data); } } } }
结果:以逗号分隔,以\n换行,字符串加上\t,数字加上双引号""
"1004760934201504280095156624" ,"231,215.99"
"1004800934201504270092770541" ,"1.1"
"1002190934201504260091077987"
"AA,BB,CC","231,231,231,215.99"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?