C# ComExecption异常 HRESULT:0x800A03EC

在调用Excel的COM组件对已有的Excel进行写入操作的时候,报出了这个异常     
C# ComExecption异常 HRESULT:0x800A03EC
查找了很多资料,造成抛出这个异常的原因可能包括

1、Excel的行列都是从1开始的,如果我们习惯性的给worksheet.Cells[0, 0] 或者worksheet.Cells[1, 0]或者worksheet.Cells[0, 1]赋值,就会引发该异常。
2、当前目录操作权限,是否有授权。如果对于操作的Excel文件没有授权的话,比如说,权限不够,或者Read-Only一类的,也会抛出这个异常。

当我试过这两种方法后依然不能解决代码中的问题,我又看了一下代码,发现自己的代码有问 newRowsRange.Value2 = existedRowsList ,我把List直接赋值给Range了。所以,可以总结出来另外的一种情况导致抛出这种异常

3、把不符合要求的对象赋给Range. 比如说要给Excel的一个区域赋值,可以选中这个区域Range对象,然后把要写入的值放入到一个二维数组中,然后把这个数组赋给Range对象。如果把不符合要求的值,比如说List, 赋值,就会抛出这个异常

你可能感兴趣的:(C# ComExecption异常 HRESULT:0x800A03EC)