导出数据
虽然Foxtable已经有导出Excel的功能,但是只能导出数据,不包括格式。
我们可以巧妙地地用Excel报表来实现带格式的导出功能。
例如下面的代码,导出订单表,用红色背景标出折扣超过0.15的单元格:
Dim
dt As Table = Tables("订单")
Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim Style As Xls.Style = Book.NewStyle '新建一个样式
Style.BackColor = Color.Red '样式的背景颜色设为红色
For c As Integer = 0 To dt.Cols.Count -1 '添加列标题
Sheet(0, c).Value = dt.Cols(c).Name
Next
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
For c As Integer = 0 To dt.Cols.Count -1
Sheet(r +1, c).Value = dt.rows(r)(c)
Next
If dt.rows(r)("折扣") >= 0.15 Then '如果折扣大于等于0.15
Sheet(r + 1,dt.Cols("折扣").Index).Style = Style '设置折扣单元格的样式
End If
Next
'打开工作簿
Book.Save("c:\reports\test.xls")
Dim Proc As New Process
Proc.File = "c:\reports\test.xls"
Proc.Start()
在命令窗口执行上面的代码,得到: