0

这是我正在使用的方法:

http://www.c-sharpcorner.com/uploadfile/yuanwang200409/how-to-convert-xls-file-into-csv-file-in-C-Sharp/

它适用于所有其他文件,但对于这个文件,即使它有六列,它也只会得到一列。该文件是 xlsx (Excell 2007)。但我不认为这是问题所在。

当我手动转换文件时,它工作得很好。

4

2 回答 2

0

这应该很容易调试。问题的症结在于这段代码的某处:

for (int x = 0; x < dt.Rows.Count; x++)
{
    string rowString = "";
    for (int y = 0; y < dt.Columns.Count; y++)
    {
        rowString += "\"" + dt.Rows[x][y].ToString() + "\",";
    }
    wrtr.WriteLine(rowString);
}

我会一步一步找出rowString每一次传递的价值。呼叫是否dt.Columns.Count返回值为 1?在调试器窗口中打开dt并在其中查看它。它有多个列吗?等等等等。您应该能够区分这些循环在做什么并找到问题所在。

让我们知道你发现了什么。

于 2013-01-22T16:05:41.903 回答
0

问题是 Excel 文件的第一行没有标题。我不知道为什么,但是一旦我为标题添加了额外的行 - 它就被修复了。

于 2013-01-26T06:58:18.217 回答