【问题标题】:Exporting a csv file with multiline to a single cell将具有多行的 csv 文件导出到单个单元格
【发布时间】:2017-12-21 10:12:28
【问题描述】:

在我的 android 应用程序中,我需要将数据导出为 CSV 格式,并在单个单元格中使用多行,基于我使用以下代码导出 CSV。成功导出后,使用任何一个 CSV 查看器(如CSV ViewerCSV 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


【解决方案1】:
 String multilineString="this\nis\nsome\ntext";

替换为

 String multilineString="this\\nis\\nsome\\ntext";

"\""+multilineString+"\""

替换为

multilineString

你可以试试..

【讨论】:

  • 使用纯文本编辑器(如写字板或记事本)检查工作文件。那它看起来怎么样?
  • 那么excel还能显示吗?
  • 我的要求是应该在 CSVviewer 应用程序上工作,而不是 excel。
猜你喜欢
  • 1970-01-01
  • 2020-09-28
  • 2023-01-13
  • 1970-01-01
  • 2019-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多