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

回到顶部