使用长字符串更新Excel字段

时间:2013-07-28 12:29:39

标签: c# asp.net excel oledb

我有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();

它会抛出错误:

  

该字段太小,无法接受您尝试的数据量   加。尝试插入或粘贴较少的数据。

谁知道如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:1)

无法通过OleDB执行此操作。

我使用的是Microsoft.Office.Interop.Excel;相反,在循环中找到记录并更新Cell [i,j] = description。它有点慢,但像一个魅力。谢谢!