首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

导出Excel文件“object”未包孕“get_Range”的定义

2013-10-14 
导出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]); 


[解决办法]
引用:
引用:
C# code

Excel.Application xlApp = new Excel.Application();
Excel.Workbook workbook = xlApp.Workbooks.Add(true);
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheet……

那试试:
office是否安装
没有安装到GAC里面
dcomcnfg 中配置EXCEL权限,everyone
[解决办法]
引用:
引用:
引用:
引用:
C# code

Excel.Application xlApp = new Excel.Application();
Excel.Workbook workbook = xlApp.Workbooks.Add(true);
Excel.Worksheet work……


怕权限不够而已,

是否是用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;
[解决办法]
引用:
引用:
引用:
引用:
引用:
引用:
C# code

Excel.Application xlApp = new Excel.Application();
Excel.Workbook workbook = xlApp……


这个是net2.0的,如果你生成net2.0,应该不会出现问题。

但是net4,简化了很多office的API访问,你只能去修改这个类符合net4的标准。

例如 原来的
Excel.Range targetRange = excelApp.get_Range("A1", Type.Missing);

只能换成
Excel.Range targetRange = excelApp.Range["A1"]

类似这样的,
[解决办法]
看看你的权限够不够。
[解决办法]
引用:
引用:
引用:
引用:
引用:
引用:
引用:
引用:
C# code

Excel.Application xlApp = new Excel.App……


公司没有装2010,没有办法帮你改那个类。

你自己修改下啊,把get_Range换成Range看看了。

热点排行