Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Excel interop写入包含“的Excel文件”;“空的”;细胞_C#_Excel_Interop - Fatal编程技术网

C# Excel interop写入包含“的Excel文件”;“空的”;细胞

C# Excel interop写入包含“的Excel文件”;“空的”;细胞,c#,excel,interop,C#,Excel,Interop,我有一个c#工具,可以创建excel工作表,稍后会被另一个工具再次读取。这是通过使用excel互操作来完成的 读取生成的excel文件时,会出现一个异常,说明:OLEDBEException:定义的字段太多 这意味着文件无法读入,因为有太多的amny列,但不应该有,因为真正的内容只需要大约90列。作为一种解决方法,我手动删除了excel中的所有其他列,并再次尝试读取。 这与预期的一样,因此这意味着生成的excel确实包含非空单元格(在excel中显示为空单元格…) 有没有办法告诉InReop不要

我有一个c#工具,可以创建excel工作表,稍后会被另一个工具再次读取。这是通过使用excel互操作来完成的

读取生成的excel文件时,会出现一个异常,说明:OLEDBEException:定义的字段太多

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

有没有办法告诉InReop不要创建空单元格,或者有其他原因需要检查

非常感谢 汤姆

PS:我在安装Office 2007时遇到了2003互操作库的问题。

我找到了解决方案: 该工具正在将范围从一张图纸复制到另一张图纸

已正确定义源范围: GetRange(fromWorkbookName、fromSheetName、A1、V20)

目标单元格hoever的地址为: GetRange(toWorkbookName、toSheetName、A1)

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

下流的下流的

无论如何,该工具没有正确执行复制/粘贴操作(当您手动将范围复制到整行时,excel本身也会发出警告)。纠正这一点后,它似乎起了作用