这是我正在使用的方法:
http://www.c-sharpcorner.com/uploadfile/yuanwang200409/how-to-convert-xls-file-into-csv-file-in-C-Sharp/
它适用于所有其他文件,但是对于这个文件,它只有一列,即使它有六列。该文件是xlsx(Excell 2007)。但我不认为这是问题所在。
当我手动转换文件时,它可以正常工作。
答案 0 :(得分: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
并在那里查看它。它有多个列吗?等等你应该能够分开这些循环正在做什么并找到问题。
让我们知道您的发现。
答案 1 :(得分:0)
问题是excel文件的第一行没有标题。我不知道为什么,但是一旦我为标题添加了额外的行 - 它就被修复了。