【问题标题】:Unable to read csv with line breaks and blank lines无法读取带有换行符和空行的 csv
【发布时间】:2014-09-19 01:14:31
【问题描述】:

我有一个带有多行值的 Excel,其中包含空行和换行符... 我可以读取它们之间没有空行/换行符的多行,但无法读取读取空行/换行符

欣赏任何输入。 下面的示例输入:

“已执行测试

一个excel文件”

所需输出:已执行测试\n\n\nin\n\nan excel 文件

代码:

using (TextFieldParser parser = new TextFieldParser(csv_file_path))
{
    parser.TextFieldType = FieldType.Delimited;
    parser.SetDelimiters(";");
    int headerrow = 0;
    while (!parser.EndOfData)
    {
        //Processing row
        string[] fields = parser.ReadFields();
        if (headerrow == 0)
        {
            foreach (string field in fields)
            {
                csvData.Columns.Add(field);
                //TODO: any logic
            }
            headerrow = 1;
        }
        else
        {
            csvData.Rows.Add(fields);
        }

    }
}

【问题讨论】:

  • 我一直使用状态机逐个字符地处理 CSV 文件,而不是逐行处理。只要您知道最后一列不包含换行符,您就可以计算定界符并在定界符计数到达最后一列之前在列中包含换行符

标签: c# excel


【解决方案1】:

您需要尝试/捕获格式错误的行异常

【讨论】:

    猜你喜欢
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多