【发布时间】:2017-12-21 10:12:28
【问题描述】:
在我的 android 应用程序中,我需要将数据导出为 CSV 格式,并在单个单元格中使用多行,基于我使用以下代码导出 CSV。成功导出后,使用任何一个 CSV 查看器(如CSV Viewer、CSV Modify)选择并查看该文件,该查看器正在打开并在不同行而不是单个单元格中显示这些行“this\nis\nsome\ntext”,但我在按预期工作的 excel 表中打开。但我的要求是也应该适用于 CSV 查看器应用程序。 有什么建议吗?
String multilineString="this\nis\nsome\ntext";
File storageDir = RLogApp.getContext().getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS);
File serviceCallDataFile = new File(storageDir, "/" + "servicelist.csv");
List<String[]> data = new ArrayList<String[]>();
data.add(new String[]{"India", "New Delhi"});
data.add(new String[]{"United States",
"\""+multilineString+"\""
});
data.add(new String[]{"Germany", "Berlin"});
CSVWriter writer = null;
try {
writer = new CSVWriter(new FileWriter(serviceCallDataFile));
writer.writeAll(data);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
【问题讨论】:
-
您的帖子不清楚。所以你创建了一个 cv 文件,excel 会根据需要显示它,而那些 csv 应用程序不是吗?不清楚。
-
如果是...那么问题是什么?
-
@greenapps yes excel 显示我想要的,但 csv 应用程序没有按预期工作。
-
那么问题是什么?我会得出结论,这些应用程序不支持多行项目。你呢?
-
可能是因为您使用的是 CSVWriter,它会自动将数据转换为符合 CSV 标准,而这不是您想要的。我会改用 FileOutputStream。毕竟,CSV 文件是纯文本文件。不要偷懒……
标签: android export-to-csv