Java中如何在导出CSV时,同时使用单引号及双引号?
我正在编写一个 Java 应用程序以将数据从 Oracle 导出到 csv 文件
但行上的某些数据可能如下所示:
回答:
CSV有相关的组件可以进行处理。但也有一个简单的做法,通过Excel组件可以免去CSV处理的相关细节。
只需要关注Java中如何转义双引号就行了。
public void ExportCSV() { Workbook wb = new Workbook();
IWorksheet sheet = wb.getWorksheets().get(0);
sheet.getRange("A1").setValue(123);
sheet.getRange("B1").setValue("葡萄");
sheet.getRange("C1").setValue("苹果");
sheet.getRange("D1").setValue("ABC");
sheet.getRange("E1").setValue("我说:\"你把'苹果'给我\"");
wb.save("output/export.csv");
}
结果:123,葡萄,苹果,ABC,"我说:""你把'苹果'给我"""
参考资料:https://demo.grapecity.com.cn/documents-api-excel-java/demos/...
回答:
可以使用opencsv来处理
通过maven添加
<dependency> <groupId>org.ow2.util.bundles</groupId>
<artifactId>opencsv-2.1</artifactId>
<version>1.0.0</version>
</dependency>
使用时通过构造CSVWriter来指定分隔符和转义符
public CSVWriter(Writer writer, char separator, char quotechar, char escapechar, String lineEnd) { this.rawWriter = writer;
this.pw = new PrintWriter(writer);
this.separator = separator;
this.quotechar = quotechar;
this.escapechar = escapechar;
this.lineEnd = lineEnd;
}
可以指定特定的分隔符、引号符、转义符来避免你的单双引号混淆问题
以上是 Java中如何在导出CSV时,同时使用单引号及双引号? 的全部内容, 来源链接: utcz.com/p/945382.html