Excel无法插入超过255个字符?

Excel无法插入超过255个字符?,excel,export-to-excel,ole,Excel,Export To Excel,Ole,我正在使用OLE DB驱动程序在Excel工作表中插入超过255个字符,但出现错误: 异常详细信息:System.Data.OleDb.OLEDBEException:字段太小,无法接受您尝试添加的数据量。尝试插入或粘贴较少的数据 从这一点看,这似乎是一个Excel限制。就连微软网站似乎也这么说 这是否意味着我不能以编程方式,但可以手动?因为在Excel中手动键入字符时,可以输入超过255个字符。那么这是一种限制吗 您所指的链接大约有256列,而不是字符。256个字符的问题在这里有一个解决方法:

我正在使用OLE DB驱动程序在Excel工作表中插入超过255个字符,但出现错误:

异常详细信息:System.Data.OleDb.OLEDBEException:字段太小,无法接受您尝试添加的数据量。尝试插入或粘贴较少的数据

从这一点看,这似乎是一个Excel限制。就连微软网站似乎也这么说


这是否意味着我不能以编程方式,但可以手动?因为在Excel中手动键入字符时,可以输入超过255个字符。那么这是一种限制吗

您所指的链接大约有256列,而不是字符。256个字符的问题在这里有一个解决方法:

我找到了一个更有效的方法来处理这个问题,我的参考文献是下面的两个链接

基本上不使用数据适配器、数据集和参数在Excel中插入行(这对我来说从来都不起作用),而是直接使用命令对象从代码中运行SQL insert

这是你要做的

  • 将宽字段声明为备注,而不是字符串或字符 创建表工作表名称(字段1 INT、字段2 MEMO、字段3…)
  • 像这样构建insert语句 “在工作表名称(字段1,字段2,…)中插入值(1234,'此处的任何长字符串…',…)”
  • 声明一个DbCommand来运行上面的createtable和Insert语句,这里我使用的是来自企业库的命令obj

    DbCommand DbCommand=m_dbConnection.CreateCommand(); dbCommand.CommandText=“创建表格…”; dbCommand.CommandType=CommandType.Text; dbCommand.ExecuteOnQuery()

    dbCommand.CommandText=“插入…”; dbCommand.CommandType=CommandType.Text; dbCommand.ExecuteOnQuery()


  • 我的解决方法是在列的第一行添加长度超过255个字符的文本。OleDB将此列视为备注类型,然后它可以在单元格中插入255个以上的字符。

    否-请仔细阅读。在MS站点上,请参见第三行。它说:列宽:255个字符顺便说一句,谢谢你的解决办法!我们强烈反对只提供链接的答案,这是有充分理由的。非常感谢!你真棒!它就像一个符咒,我刚刚隐藏了第二行,它看起来很棒!这对我不起作用。幸运的是,
    createtable
    语句创建了一个同名的命名范围(仅不带$)。如果我将
    插入到该范围中,则该范围有效。