导出Excel文件“object”未包含“get_Range”的定义{Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:
导出Excel文件“object”未包含“get_Range”的定义
{Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: “object”未包含“get_Range”的定义
在 CallSite.Target(Closure , CallSite , ComObject , Object , Object )
在 System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
在 CallSite.Target(Closure , CallSite , Application , Object , Object )
在 System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
在 Supcon.MOM.Facade.Export.UltraWebGridExportToExcel(UltraWebGrid grid, String title, Boolean isShowHiddenRow, Boolean isShowHiddenCol, HttpResponse Response)
[解决办法]
Excel.Application xlApp = new Excel.Application();
Excel.Workbook workbook = xlApp.Workbooks.Add(true);
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];
Excel.Range range;
range= worksheet.get_Range(xlApp.Cells[1, 4], xlApp.Cells[RowCount + 2, 4]);
[解决办法]那试试:
office是否安装
没有安装到GAC里面
dcomcnfg 中配置EXCEL权限,everyone
[解决办法]怕权限不够而已,
是否是用vs2010开发的?net3.5 or 4.0?
如果是不能用原来的写法。
应该是:
var excelApp = new Excel.Application();
Excel.Range targetRange = excelApp.Range["A1"]
[解决办法]其实,一个类的 get_XXX 在 C# 里面是不能直接调用的。
它就是属性的 get 方法。
比如直接赋值Range r = obj.Range;
[解决办法]这个是net2.0的,如果你生成net2.0,应该不会出现问题。
但是net4,简化了很多office的API访问,你只能去修改这个类符合net4的标准。
例如 原来的
Excel.Range targetRange = excelApp.get_Range("A1", Type.Missing);
只能换成
Excel.Range targetRange = excelApp.Range["A1"]
类似这样的,
[解决办法]看看你的权限够不够。
[解决办法]公司没有装2010,没有办法帮你改那个类。
你自己修改下啊,把get_Range换成Range看看了。