0

これは私が使用している方法です:

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

他のすべてのファイルでも機能しますが、この 1 つのファイルでは、6 つの列があるにもかかわらず、1 つの列しか得られません。ファイルはxlsx(エクセル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 に答える