本主题介绍了如何使用 Excel for .NET来创建 XLS 文件,并且解释了在创建XLS文件过程中用到的主要的Excel for .NET对象,例如工作表,单元格行集合,单元格列集合,以及样式对象等等。
创建XLS文档
使用Excelfor.NET 来创建一个新的XLS文档,下面的三步是必须的:
- 添加一个C1XLBook组件到你的项目中或者在代码中创建一个C1XLBook对象。每一个C1XLBook对象都是由一个或者多个工作表构成(XLSheet对象)。
- 添加内容到工作表,每一个工作表都包含了很多个单元格(XLCell对象),单元格对象有Value和Style属性,可以更改单元格内容或者样式。
- 通过C1XLBook对象的Save方法保存文档
下面的例子创建了一个新的 Excel 文件,该文档默认包含了一个工作表,然后给第一列的前100个单元格赋值1到100。
如果你已经在表单上添加了C1XLBook组件,你可以忽略代码中第一步。
Visual Basic
Visual Basic |
' 步骤1: 创建一个新的工作薄对象 Dim C1XLBook1 As New C1XLBook() ' 步骤2:给单元格内部添加内容 Dim sheet As XLSheet = C1XLBook1.Sheets(0) Dim i As Integer For i = 0 To 99 sheet(i, 0).Value = i + 1 Next i ' 步骤3:保存文件 C1XLBook1.Save("c:\temp\hello.xls") |
C#
C# |
// 步骤1: 创建一个新的工作薄对象 C1XLBook c1XLBook1 = new C1XLBook(); // 步骤2:给单元格内部添加内容 <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="372056c7-49bf-4e27-8972-6737987a48b5"><ac:plain-text-body><![CDATA[XLSheet sheet = c1XLBook1.Sheets[0]; for (int i = 0; i < 100; i++) { sheet[i, 0].Value = i + 1; ]]></ac:plain-text-body></ac:structured-macro> } // 步骤3:保存文件 c1XLBook1.Save(@"c:\temp\hello.xls"); |
第二步是非常有意思的,从新创建的Excel 工作薄(C1XLBook)对象中获取第一个工作表(XLSheet)对象,在创建新的C1XLBook对象的时候,这个工作表对象会被自动创建。接下来通过单元格索引访问单元格对象,并且赋值1到100.
注意到通过XLSheet对象的行列索引来访问单元格的话,XLSheet 对象会根据需要自动创建单元格,这将使得填充工作表变得非常容易。如果你想获取工作表的大小,可以通过XLSheet的Rows.Count以及Columns.Count属性获得。
除了可以给单元格填充值之外,你还可以给单元格设置样式,创建XLStyle对象,更改样式后,将其赋给单元格就可以
了。下面的代码演示了将偶数行的单元格设置为粗体红色,而奇数行的单元格设置为斜体蓝色。如果你已经在表单上添加了C1XLBook组件,你可以忽略代码中的第一步。
Visual Basic
Visual Basic |
' 步骤1: 创建一个新的工作薄对象 Dim C1XLBook1 As New C1XLBook() ' 步骤二:为奇偶行创建样式 Dim styleOdd As New XLStyle(C1XLBook1) styleOdd.Font = New Font("Tahoma", 9, FontStyle.Italic) styleOdd.ForeColor = Color.Blue Dim styleEven As New XLStyle(C1XLBook1) styleEven.Font = New Font("Tahoma", 9, FontStyle.Bold) styleEven.ForeColor = Color.Red ' 步骤三:填充内容到单元格 Dim sheet As XLSheet = C1XLBook1.Sheets(0) Dim i As Integer For i = 0 To 99 Dim cell As XLCell = sheet(i, 0) cell.Value = i + 1 If (i + 1) Mod 2 = 0 Then cell.Style = styleEven Else cell.Style = styleOdd EndIf Next i ' 步骤四:保存文件 C1XLBook1.Save("c:\temp\hello.xls") |
C#
C# |
// 步骤1: 创建一个新的工作薄对象 C1XLBook c1XLBook1 = new C1XLBook(); // 步骤2:为奇偶行创建样式 XLStyle styleOdd = new XLStyle(c1XLBook1); styleOdd.Font = new Font("Tahoma", 9, FontStyle.Italic); styleOdd.ForeColor = Color.Blue; XLStyle styleEven = new XLStyle(c1XLBook1); styleEven.Font = new Font("Tahoma", 9, FontStyle.Bold); styleEven.ForeColor = Color.Red; // 步骤三:填充内容到单元格 <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="4f2c51d6-ab75-41aa-acf9-610725cd2178"><ac:plain-text-body><![CDATA[XLSheet sheet = c1XLBook1.Sheets[0]; for (int i = 0; i < 100; i++) { XLCell cell = sheet[i, 0]; cell.Value = i + 1; | ]]></ac:plain-text-body></ac:structured-macro> |
cell.Style = ((i+1) % 2 == 0)? styleEven: styleOdd;
}
// 步骤四:保存文件
c1XLBook1.Save(@"c:\temp\hello.xls");
这一段代码与上一个例子类似,主要的不同在于第二步,为奇偶行创建了不同的样式,这些新的样式在第三个步骤中会随同单元格内容一起被设置到单元格上面。
使用微软 Excel打开上面保存的文件,截图如下:
