.net 使用VSTO在Excel 2007中将数组指定给单元格时丢失长文本字符串

.net 使用VSTO在Excel 2007中将数组指定给单元格时丢失长文本字符串,.net,vsto,excel-2007,watin,.net,Vsto,Excel 2007,Watin,我发现当通过数组将长字符串分配到单元格中时,它会随机删除字符串 例如,我有一个2d数组(一行大约有20个值),包括一个项目编号和主体HTML(来自WatiN automation的主体HTML) 当我将该数组分配到一行(当然大小相同)中时,它偶尔不会将HTML插入其单元格中,但该单元格两侧的值看起来很好 假设字符串太长,我试着从HTML中删除不必要的空白,效果很好。。。但不是因为长度 事实证明,如果我简单地修剪字符串,它就会工作(即使没有尾随空格!) 字符串本身中有什么可能导致Excel拒绝它,

我发现当通过数组将长字符串分配到单元格中时,它会随机删除字符串

例如,我有一个2d数组(一行大约有20个值),包括一个项目编号和主体HTML(来自WatiN automation的主体HTML)

当我将该数组分配到一行(当然大小相同)中时,它偶尔不会将HTML插入其单元格中,但该单元格两侧的值看起来很好

假设字符串太长,我试着从HTML中删除不必要的空白,效果很好。。。但不是因为长度

事实证明,如果我简单地修剪字符串,它就会工作(即使没有尾随空格!)

字符串本身中有什么可能导致Excel拒绝它,为什么简单的字符串操作(如Trim)可以解决问题?

EXCEL.Range range = worksheet.GetRange(1,1,10,10);
object[,] cells = range.GetCells();
cells[1,1] = "123456789";
cells[1,2] = waitnbrowser.Body; // Get 10K body text HTML string
cells[1,3] = "something else";
range.Value = cells; // Sometimes the body text is left out, even though it shows in the cells array fine.
如果我将修剪添加到长字符串中,即使长度不变,也会起作用:

cells[1,2] = waitnbrowser.Body.Trim(); // this (or other string manipulation) fixes the problem!
range.Value = cells; // now works every time! 

@基思:当然,我使用我自己的扩展方法库来获取值,但你知道它们的设置。字符串中是否可能有一些不典型的内容(例如:表单提要、段落分隔符等)?(我想你的意思是你已经比较了前后的字符串长度,但我只是想确保涵盖了所有的基数。)