以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 导出表数据到EXCEL中 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68685) |
-- 作者:kunmails -- 发布时间:2015/5/22 14:57:00 -- 导出表数据到EXCEL中 目前有个表“扫码数据表” 在Drawcell 事件中写了代码 Dim drs As Integer
drs = e.Table.DataTable.Select("[产品防伪码] = \'" & e.Row("产品防伪码") & "\'").Count If drs > 1 Then e.Style = "重复" End If 如果码重复就标记为红颜色 想将这个表导出到EXCEL中的时候导出的数据重复行业带红颜色!如何实现,请大家帮忙!谢谢! 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 Next \'打开工作簿 Book.Save("c:\\reports\\test.xls") Dim Proc As New Process Proc.File = "c:\\reports\\test.xls" Dim St2 As XLS.Style = Book.NewStyle St2.Format = "yyyy-MM-dd" Sheet.Cols(dt.Cols("扫码时间").Index).Style = st2 Proc.Start() |
-- 作者:大红袍 -- 发布时间:2015/5/22 14:59:00 -- 为什么不直接用saveExcel ?
http://www.foxtable.com/help/topics/0559.htm
|
-- 作者:Bin -- 发布时间:2015/5/22 15:01:00 -- 同样是这么干,和你DrawCell里面类似的 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) if dt.DataTable.Select("[产品防伪码] = \'" & dt.rows(r)("产品防伪码") & "\'").Count >1 then Sheet(r +1, c).Style=Style end if Next Next |
-- 作者:kunmails -- 发布时间:2015/5/22 15:03:00 -- 非常感谢! |