以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- EXECL报表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3377) |
-- 作者:hejfen -- 发布时间:2009/7/1 11:50:00 -- EXECL报表 EXECL报表怎么样才能好象专业报表那样,标出感兴趣的数据? |
-- 作者:shxiaoya -- 发布时间:2009/7/1 12:06:00 -- 导出数据 虽然Foxtable已经有导出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 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() 在命令窗口执行上面的代码,得到: |
-- 作者:yangming -- 发布时间:2009/7/1 13:04:00 -- Dim dt As DataTable = DataTables("产品") Dim Book As New XLS.Book Dim Sheet As XLS.Sheet = Book.Sheets(0) Dim Names As List(Of String) = dt.GetUniqueValues("","产品") For i As Integer = 0 to Names.Count - 1 Dim Style As XLS.Style = Book.NewStyle() \'定义新样式 Style.ForeColor = Color.Red \'设置样式的字体颜色 Sheet(i + 1, 0).Value = Names(i) Sheet(i + 1, 1).Value = dt.Compute("Sum(金额)","[产品] = \'" & Names(i) & "\'") If Sheet(i+1,1).Value > 3000 Then Sheet(i+1,1).Style = Style \'设置单元格样式 End If Next Book.Save("c:\\0701.xls") Dim Proc As New Process Proc.File = "c:\\0701.xls" Proc.Start() |
-- 作者:roy78 -- 发布时间:2009/7/1 13:32:00 -- 我为什么看不到图? |
-- 作者:yangming -- 发布时间:2009/7/1 13:36:00 -- 以下是引用roy78在2009-7-1 13:32:00的发言:
我为什么看不到图? 图没复上来,你自己在帮助中看这页的图 |
-- 作者:hejfen -- 发布时间:2009/7/1 14:25:00 -- 哦,用EXCEL模板就不行吗? |
-- 作者:yangming -- 发布时间:2009/7/1 14:42:00 -- 模板不行 |