日期:2014-05-17  浏览次数:20469 次

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

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;
            }
            worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1,3]).Merge(Missing.Value); //横向合并            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 了。 编译都没有错误 但是运行就报上面错误 求助啊 是什么原因??

------解决方案--------------------

 Excel.Application xlApp = new Excel.Application();
  Excel.Workbook workbook = xlApp.Workbooks.Add(true);
            Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];
            Excel.Range range;
     &nbs