打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C#中用Automation自动化方式对Excel的操作
操作Excel的方式有很多种,比如HTML格式的EXCEL文件,OleDB数据库连接方式,今天我介绍的是Automation方式对Excel的操作,关于COM和Automation更详细的介绍可以参考VC知识库中的杨老师的专栏文章 http://www.vckbase.com/vckbase/columnist/yangfeng/
言归正传,请看具体实现方法:
一、要在C#中操作Excel,必须使用命名空间Microsoft.Office.Inteop.Excel。该命名空间必须在使用前从References中添加。添加完毕后在文件头用using语句进行关联。
using Excel=Microsoft.Office.Interop.Excel;
如果你找不到 microsoft.office.interop.excel.dll程序集,对于office2003,在com引用里添加Microsoft Excel11.0 Object Library,引用里面就有microsoft.office.core和excel了。
然后就可以using Microsoft.Office.Interop.Excel了。
二、使用命名空间中的ApplicationClass类来创建Excel对象。
Excel.ApplicationClass MyExcel=new Excel.ApplicationClass();
三、创建工作簿
方法一:
Excel.Workbook workbook=MyExcel.Workbooks.Add(true);
方法二:
Excel.Workbook workbook=MyExcel.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
这里,MSDN里对Workbooks类的Add方法的定义如下:
Workbook Add( [In, Optional] object Template);
Workbooks.Add的参数是个可选的object类型,这个参数定义了新的工作簿的创建方式。如果传递的是一个描述Excel文件名的string类型,那么新的工作簿会以你所传递的Excel文件为模板来创建。如果传递的参数是一个常量,那么这个新的工作簿只会包含一个单独的sheet表单。这个常量可以是XlWBATemplate枚举类型的值,如:xlWBSTChart,xlWBATExcel4IntMacroSheet,xlWBATExcel4MacroSheet,或xlWBATWorksheet。如果这个参数被省略了,Excel会按照SheetInNewWorkbook属性的值来创建一个新的工作簿。
通常情况下,使用true或null,表明工作簿在默认文档下创建,或者使用枚举值      XlWBATemplate.xlWBATWorksheet,也可以传入一个已经存在的excel完整文件名。
方法三:打开一个已经存在的Excel文件
Excel.Workbook workbook=MyExcel.Workbooks.Open(Environment.CurrentDirectory+'/SampleExcel.xls', 0, false, 5, System.Reflection.Missing.Value, System.Reflection.Missing.Value, false, System.Reflection.Missing.Value, System.Reflection.Missing.Value,true, false, System.Reflection.Missing.Value, false, false, false);
四、创建工作页sheet表单
方法一:
Excel.Worksheet worksheet =(Worksheet)workbook.Worksheets[1];
//选择sheet1
这是一个只读的sheets集合。
方法二:
Excel.Worksheet worksheet = workbook.ActiveSheet as Excel.Worksheet; //或者写成Excel.Worksheet worksheet = (Excel.Worksheet)workbook.ActiveSheet;
这是一个只读属性,它返回一个object类型值,这个值代表了屏幕顶端的活动工作簿的活动sheet表单。
而Workbook类实现了_Workbook接口。
五、设置格式。
这个部分网上资料比较多,此处省略!
六、保存Excel文档。
设置禁止弹出保存和覆盖的询问提示框。这两句代码至关重要,而且必不可少,否则,保存时会弹出“是否保存sheet1.xls”的对话框。判断当前激活的表,并保存这个表。
MyExcel.DisplayAlerts = false; MyExcel.AlertBeforeOverwriting = false; MyExcel.ActiveWorkbook.SaveCopyAs(filename); MyExcel.Quit();
ApplicationClass类实现了接口_Application。
Workbook类实现了接口_Workbook。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
NET平台下的Excel编程|C#操作Excel|Application和ApplicationClass的联系和区别
浅谈Excel开发:三 Excel 对象模型
VS2010 C++ 操作Excel表格的编程实现
网经 - Excel对象模型
使用C#操作EXCEL文件
第七篇 Excel自动化
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服