一般地,Excel的VSTO外接程序经常需要获取到某个工作薄对象,并以此来获得其中的工作表对象,然后再对工作表中的数据进行处理,但针对工作薄的创建、打开、关闭、重命名等操作还是会遇到的。
首先我们要清楚两个概念,工作薄与工作表的概念,其中工作薄是文件,工作表是工作薄的工作页,一个工作薄可以有多个工作表(Excel2007以前的版本,一个工作簿中最多有255个工作表,07版本之后的理论上可以有无限个工作表,其建立的工作表数量受电脑内存的影响)。
Excel的Workbooks 对象包括以下方法:
- Add
- CanCheckOut
- CheckOut
- Close
- Open
- OpenDatabase
- OpenText
- OpenXML
经常用到的方法主要是Add,Open,Close等。
一、 创建工作表
- 一般使用Workbooks对象的Add方法创建新工作簿;
- expression.Add(Template)
- expression 必需。该表达式返回一个 Workbooks 对象。
- Template Variant 类型,可选。确定如何创建工作簿。如果本参数为指定一现有 Microsoft Excel
文件名的字符串,那么创建新工作簿将以该指定的文件作为模板。如果本参数为常量,新工作簿将包含指定类型的单张工作表。可为
XlWBATemplate的常量之一:xlWBATChart、xlWBATExcel4IntlMacroSheet、xlWBATExcel4MacroSheet 或 xlWBATWorksheet。如果省略本参数,Microsoft Excel 将创建包含一定数目的空白工作表的工作簿(该数目由SheetsInNewWorkbook 属性设置)。
下面我们由这4种参数来创建Excel的工作薄,看看他们有什么区别,代码如下:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
eApp = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
//开启VSTO之旅,添加工作薄
//xlWBATChart、xlWBATExcel4IntlMacroSheet、xlWBATExcel4MacroSheet、 xlWBATWorksheet用法
eApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATChart);