0

XLSX ファイルがあり、C# アプリケーションからそのファイルの idProduct で Description フィールドを更新する必要があります。

接続するには、次を使用します。

        string connectionString = string.Format(
            @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0;",
            tbFileXLS.Text.Trim());

        OleDbConnection connection = new OleDbConnection(connectionString); 

        string sql = string.Format(
            @"UPDATE [Sheet1$] SET [Description] = '{0}' WHERE [ProductID] = '{1}'",
            htmlDescription.Replace("'", "''"),
            idProduct
            );

しかし、そのクエリを実行しようとすると

        OleDbCommand command = new OleDbCommand(sql, connection);
        connection.Open();
        int count = command.ExecuteNonQuery();
        connection.Close();

エラーがスローされます:

フィールドが小さすぎて、追加しようとしたデータの量を受け入れることができません。挿入または貼り付けするデータの数を減らしてください。

その問題を解決する方法を誰が知っていますか?

ありがとう。

4

1 に答える 1

1

OleDB 経由でこれを行う方法はありません。

私は Microsoft.Office.Interop.Excel を使用しています。代わりに、ループ内のレコードを見つけて、Cell[i,j] = description を更新します。少し遅いですが、魅力のように動作します。ありがとう!

于 2013-08-09T03:26:25.140 に答える