Excel互操作写入包含“空”单元格的excel文件

问题描述:

我有一个c#工具,可以创建excel工作表,稍后再由另一个工具读入。这是通过使用excel interop完成的。Excel互操作写入包含“空”单元格的excel文件

当读取生成的excel文件时,出现以下异常:OleDbException:定义的字段过多。

这意味着该文件无法读入,因为列太多,但不应该有,因为真正的内容只需要大约90列。作为一种解决方法,我在Excel中手动删除所有其他列,然后再次尝试读取它。 按预期工作,这意味着生成的Excel包含非空单元格(在Excel中显示为空单元格... )

有没有办法告诉inerop不要创建空单元格,还是有其他原因我应该检查?

非常感谢 汤姆

PS:我遇到了这个问题,2003年的互操作库,而我有安装Office 2007。

我发现解决方案: 该工具正在复制从一张纸到另一张纸的范围。

源范围被正确定义: GetRange(fromWorkbookName,fromSheetName,A1,V20);

目标单元格被以下内容所压缩: GetRange(toWorkbookName,toSheetName,A1).EntireRow;

2003年interop,这似乎没有问题。 对Office 2010中的xslx文件执行此操作时,会创建一些包含“#N/A”的“空白”字段。

讨厌讨厌...

无论如何工具没有被正确执行复制/粘贴(甚至优于自身提醒你,当你手动复制一个范围的整条生产线)。纠正后这似乎工作....