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()
你如果细心的话,你会发现生成的Excel文件中,日期列内容全变成了数字。
你可以在Excel中手工将日期列的格式设为日期型,但这不是一个好方法。
最好是修改上面的导出代码,在打开工作簿的代码之前插入下面几行:
Dim St2 As XLS.Style = Book.NewStyle
St2.Format = "yyyy-MM-dd"
Sheet.Cols(dt.Cols("日期").Index).Style = st2
具体放在什么地方???
我放了好几个地方 都不对
[此贴子已经被作者于2015/6/6 8:59:13编辑过]