以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 位置问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=69494) |
-- 作者:q2649295605 -- 发布时间:2015/6/6 8:58:00 -- 位置问题 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文件中,日期列内容全变成了数字。 Dim St2 As XLS.Style = Book.NewStyle 具体放在什么地方??? 我放了好几个地方 都不对 [此贴子已经被作者于2015/6/6 8:59:13编辑过]
|
-- 作者:Bin -- 发布时间:2015/6/6 9:00:00 -- If dt.rows(r)("折扣") >= 0.15 Then \'如果折扣大于等于0.15 Sheet(r + 1,dt.Cols("折扣").Index).Style = Style \'设置折扣单元格的样式 End If 替换原来这段即可
|
-- 作者:q2649295605 -- 发布时间:2015/6/6 9:05:00 -- 还是不对!!导出的还不是日期格式 [此贴子已经被作者于2015/6/6 9:05:47编辑过]
|
-- 作者:Bin -- 发布时间:2015/6/6 9:13:00 -- 上例子吧.说明你判断的列名位置不对 |