class StaticExcel
{
static void Main()//COM和Office 使用静态类型设置一个区域的值
{
var app = new Application { Visible = true };
//app {Microsoft.Office.Interop.Excel.ApplicationClass}
app.Workbooks.Add();
Worksheet worksheet = (Worksheet) app.ActiveSheet;
//work COM 对象
Range start = (Range) worksheet.Cells[1, 1];
//start COM 对象
Range end = (Range) worksheet.Cells[1, 20];
//end COM 对象
worksheet.Range[start, end].Value = Enumerable.Range(1, 20).ToArray();
}
}
Office的对象模型在某种程度上是强类型的,但很多属性都公开为变体,可以处理数字、字符串、
日期等。
将一个新Excel工作表最顶行的前20个单元格的内容设置为数字1~20。
using 指示符引入了Microsoft.Office.Interop.Excel 命名空间,因为这里Application类型指向
的是Excel,而不是Word。使用C#4的新特性,在调用Workbooks.Add()建立环境时,没有为可
选参数指定实参,并且还使用了命名索引器。
当Excel启动并运行时,我们找出整个区域的起始和结束单元格。虽然同一行,但我们可以通过
选择两个对角区域创建一个矩形区域。只调用一次Range["A1:T1"]来创建区域,只使用数字会更
加简单。像B3这样的单元格名称对人好理解,对程序难以使用。
有了区域之后,使用整形数组设置Value属性,以此来设置区域的值。只设置一行数据,因此可以
使用一维数组;要设置跨多行的区域,需要使用矩形数组。
输出
打开excel 从 a1 到 t1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20