Microsoft.Office.Interop.Excel”不能用 操作excel
2008-09-04 13:31
453 查看
在家用笔记本搞好的程序,到公司后添加了Microsoft Excel11 Object Libray之后,发现引用里面的” Microsoft.Office.Interop.Excel”不能用。重新引用也不行,
通过执行tlbimp excel.exe后可以得到excel.dll文件。
cd\到根目录
cd program files\........vs 的bin 下面
tlbimp excel.exe
使用Tlpimp.exe和Excel.olb来生成Excel.dll,然后引用。
搞了半天还是不行,
后来终于看到了一篇上面说是安装office2003的时候要选择“.Net可编程性支持”。后来把office2003修改了下,重新选择
1、 安装office2003的时候,请选择“选择应用程序的高级自定义”:
2、请选择“.Net可编程性支持”下选择菜单的“从本机运行全部程序”。
先得到数组,一次填充快多哒!!!
2 objRecordset.MoveFirst();
3 for (int i = 0; i < nRows; i++)
4
18 Excel.Range StringRange = (Excel.Range)oSheet.Cells[9, 1];//从第9行第一列开始填充
19
20 StringRange = StringRange.get_Resize(nRows, 5);//填充范围为记录集行数,5列
21
22 StringRange.Value2 = strValues;
总算可以了,哈哈。。。。。。。。。。。。。。。。。。
把从supermap 中查询到的记录集添加到窗体中的excel 中,不能直接调用excel,不然用户会觉得你在忽悠他,
可以采用另外的控件(这一次叫它 axOA1),好了不多写了,上班时间,老大看到会骂人嘀
1axOA1 操作
2 2
3 3 using System.Reflection;
4 4using Excel = Microsoft.Office.Interop.Excel;
5 5using ExcelApplication = Microsoft.Office.Interop.Excel.Application;
6 6
7 7
8 8 ExcelApplication oExcel = new ExcelApplication();
9 9 Excel.Workbook oBook;//= new Microsoft.Office.Interop.Excel.Workbook();
1010 Excel.Worksheet oSheet;// = new Microsoft.Office.Interop.Excel.Worksheet();
1111 Excel.Range oRange;
1212
1313 AppPath = Application.StartupPath + "\\Template\\Sample.xls";
1414 axOA1.Open(AppPath);
1515
1616
1717 oBook = (Excel.Workbook)axOA1.GetIDispatch();
1818 oExcel = oBook.Application;
1919 oSheet = (Excel.Worksheet)oBook.Worksheets[1];
2020
2121
2222 // oRange.Select();
2323
2424 nRows = objRecordset.RecordCount;
2525 objFieldInfos=objRecordset .GetFieldInfos();
2626
2727 nCols = objRecordset.GetFieldInfos().Count;
2828 string[] s=new string [nCols];
2929 string[,] strValues1 = new string[nRows, nCols];
3030
3131 double[,] dSum = new double[nRows, nCols];
3232
3333 oSheet.Cells[1, 1] = "(" + Common.strDtName + "统计表)" + Common.strQuery;
3434 oRange = oSheet.get_Range("A1", "E1");
3535
3636 oRange.Font.Size = 20;
3737 // oRange.Font.Color = (object)Color.Red;
3838
3939 if (nRows>0 &&nCols>0)
4063
通过执行tlbimp excel.exe后可以得到excel.dll文件。
cd\到根目录
cd program files\........vs 的bin 下面
tlbimp excel.exe
使用Tlpimp.exe和Excel.olb来生成Excel.dll,然后引用。
搞了半天还是不行,
后来终于看到了一篇上面说是安装office2003的时候要选择“.Net可编程性支持”。后来把office2003修改了下,重新选择
1、 安装office2003的时候,请选择“选择应用程序的高级自定义”:
2、请选择“.Net可编程性支持”下选择菜单的“从本机运行全部程序”。
先得到数组,一次填充快多哒!!!
2 objRecordset.MoveFirst();
3 for (int i = 0; i < nRows; i++)
4
18 Excel.Range StringRange = (Excel.Range)oSheet.Cells[9, 1];//从第9行第一列开始填充
19
20 StringRange = StringRange.get_Resize(nRows, 5);//填充范围为记录集行数,5列
21
22 StringRange.Value2 = strValues;
总算可以了,哈哈。。。。。。。。。。。。。。。。。。
把从supermap 中查询到的记录集添加到窗体中的excel 中,不能直接调用excel,不然用户会觉得你在忽悠他,
可以采用另外的控件(这一次叫它 axOA1),好了不多写了,上班时间,老大看到会骂人嘀
1axOA1 操作
2 2
3 3 using System.Reflection;
4 4using Excel = Microsoft.Office.Interop.Excel;
5 5using ExcelApplication = Microsoft.Office.Interop.Excel.Application;
6 6
7 7
8 8 ExcelApplication oExcel = new ExcelApplication();
9 9 Excel.Workbook oBook;//= new Microsoft.Office.Interop.Excel.Workbook();
1010 Excel.Worksheet oSheet;// = new Microsoft.Office.Interop.Excel.Worksheet();
1111 Excel.Range oRange;
1212
1313 AppPath = Application.StartupPath + "\\Template\\Sample.xls";
1414 axOA1.Open(AppPath);
1515
1616
1717 oBook = (Excel.Workbook)axOA1.GetIDispatch();
1818 oExcel = oBook.Application;
1919 oSheet = (Excel.Worksheet)oBook.Worksheets[1];
2020
2121
2222 // oRange.Select();
2323
2424 nRows = objRecordset.RecordCount;
2525 objFieldInfos=objRecordset .GetFieldInfos();
2626
2727 nCols = objRecordset.GetFieldInfos().Count;
2828 string[] s=new string [nCols];
2929 string[,] strValues1 = new string[nRows, nCols];
3030
3131 double[,] dSum = new double[nRows, nCols];
3232
3333 oSheet.Cells[1, 1] = "(" + Common.strDtName + "统计表)" + Common.strQuery;
3434 oRange = oSheet.get_Range("A1", "E1");
3535
3636 oRange.Font.Size = 20;
3737 // oRange.Font.Color = (object)Color.Red;
3838
3939 if (nRows>0 &&nCols>0)
4063
相关文章推荐
- Excel操作 Microsoft.Office.Interop.Excel.dll的使用
- C#与excel互操作的错误无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制
- 关于Microsoft.Office.Interop.Excel的一些简单操作
- 无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass”
- 【转载】Excel操作 Microsoft.Office.Interop.Excel.dll的使用
- 关于C#操作EXCEL,生成图表的全面应用之一(利用Microsoft.Office.Interop.Excel)
- 数据转换excel操作 Microsoft.Office.Interop.Excel.dll的使用
- 无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass”请改用适用的接口
- Microsoft.Office.Interop.Excel 操作excel到DataTable中
- 错误 1 无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass”。请改用适用的接口
- 无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass”。请改用适用的接口。
- c#操作excel方式三:使用Microsoft.Office.Interop.Excel.dll读取Excel文件
- 无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass” 问题处理
- [Excel操作]Microsoft Office Excel 不能访问文件
- C#与excel互操作的错误无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制
- 关于C#操作EXCEL,生成图表的全面应用之一(利用Microsoft.Office.Interop.Excel) 收藏
- C#与excel互操作的错误无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制
- C#与excel互操作的错误无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制
- 关于C#操作EXCEL,生成图表的全面应用之二(利用Microsoft.Office.Interop.OWC11)
- c#操作excel方式三:使用Microsoft.Office.Interop.Excel.dll读取Excel文件