日期:2014-05-18  浏览次数:20493 次

asp.net 导出EXCEL 报错未包含 get_Range 的定义 ???
C# code

using Excel;


 Application app = new Application();
            if (app == null)
            {
                return;
            }
            app.Visible = false;
            app.UserControl = true;
            Workbooks workbooks = app.Workbooks;
            _Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet
            Sheets sheets = workbook.Worksheets;
            _Worksheet worksheet = (_Worksheet)sheets.get_Item(1);
            if (worksheet == null)
            {
                return;
            }
          [color=#FF0000]  worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1,3]).Merge(Missing.Value); //横向合并[/color]            worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, 1]).Value2 = "导出EXCEL测试一";




上面程序运行报错信息
“object”未包含“get_Range”的定义 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: “object”未包含“get_Range”的定义

源错误: 


行 32: r1 = worksheet.Cells[1, 3];
行 33: r.Merge(r1);
行 34: ((Excel.Range)worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, 3])).Merge(Missing.Value); //横向合并
行 35: r = worksheet.Cells[1, 1];
行 36: r.Value2 = "导出EXCEL测试一";
 
上面添加的是 Microsoft Excel 11.0 Object Library 引用 项目里BIN目录下都有
Interop.Excel.dll 了。 编译都没有错误 但是运行就报上面错误 求助啊 是什么原因??

------解决方案--------------------
C# code

 Excel.Application xlApp = new Excel.Application();
  Excel.Workbook workbook = xlApp.Workbooks.Add(true);
            Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];
            Excel.Range range;
            Excel.Range range2;
  range = worksheet.get_Range(xlApp.Cells[1, 1], xlApp.Cells[RowCount + 1, colCount]);

------解决方案--------------------
你是装的Excel2003么?11.0的版本是指2003
------解决方案--------------------
我把应用程序的目标框架改成 .net 2.0 
就好了
------解决方案--------------------
哥们我真的很佩服你
------解决方案--------------------
asp.net里面使用 Excel.Application 不是很好