- 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 不是很好