0

我有 XLSX 文件,我需要通过 C# 应用程序的该文件中的 idProduct 更新描述字段。

要连接我使用:

        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 回答