我试图将一些数据导出到Excel.我正在使用OLEDB 12.连接字符串如下所示:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES;'"
我使用INSERT查询.但是只要目标列中的数据超过255个字符,我就会得到一个例外.
Exception Details: System.Data.OleDb.OleDbException: The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data.
在SO:Excel unable to insert more than 255 chars?上有一个类似的帖子,但它没有进入c#,
我也提到了http://support.microsoft.com/kb/213841而没有得到任何解决方案.
请帮忙.
解决方法
我最初认为你可以在写入数据之前定义单元格的数据类型(备忘录/文本),但是从这篇文章
http://support.microsoft.com/kb/278973中看不出这种情况(大约有一半的时间明确地说明了定义数据类型) excel是不可能的.)
我能为您提供的“最佳”解决方案是将您的数据切割成255个字符,并将它们插入到excel文件中的nieghbouring列中.从那里你可以使用一些excel互操作将它们拼接在一起.