以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教:变量值如何填充到Excel报表中? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=110734) |
-- 作者:lanbor -- 发布时间:2017/12/8 12:26:00 -- 请教:变量值如何填充到Excel报表中? 请教:统计条件如何填充到Excel报表中? 报表主页代码如下: Dim e As RequestEventArgs = args(0) Dim date1,Date2 As Date If e.GetValues.ContainsKey("da1") Then Date1 = e.GetValues("da1") \'统计开始日期 Date2 = e.GetValues("da2") \'统计结束日期 Else Return "" End If Dim company_name As String = e.Cookies("cookcompanyname") \'取出cookies 中的企业名称 Dim Book As New XLS.Book(ProjectPath & "Attachments\\report_href1.xls") Dim sheet As XLS.Sheet = Book.Sheets(0) Dim fl As String = ExcelPath & "ExcelReport\\report_href1.xls" book.AddD ataTable("采购明细",SQLdataSource,"Select *,b.po_isl * b.po_idj As po_ijr fro m {poOrderMaster} as a left join {poOrderLine} as b on a.po_id=b.po_id") \'添加父表 where a.po_date>= #" & Date1 & "# and a.po_date<= #" & Date2 & "#" book.save( fl ) e.WriteBook(book, "report_href1.xls",False) 目的:希望把上面主页中的红颜色变量值填充到->如图(Excel报表)所示的位置。 请问:我在Excel 表中应该如何书写代码? 先谢谢专家!
|
-- 作者:有点甜 -- 发布时间:2017/12/8 14:31:00 -- 用vars变量,模板写成
[!企业名]
[!条件]
代码写
vars("企业名") = e.Cookies("cookcompanyname") vars("条件") = "查询日期:从" & date1 & "到" & date2 |
-- 作者:lanbor -- 发布时间:2017/12/8 14:34:00 -- 多谢专家及时指教! 多谢专家及时指教! |
-- 作者:lanbor -- 发布时间:2017/12/12 22:48:00 -- 如果将动态表的动态字段名称填充到Excel 中。 If DataTables("TBhref3").DataRows.Count>0 Then Dim b As new CrossTableBuilder("tjb3",DataTables("TBhref3")) b.HGroups.adddef("ibh01","类别") b.HGroups.adddef("imc01","名称") b.HGroups.adddef("igg01","规格") b.HGroups.adddef("idw01","单位") b.HGroups.adddef("isl01","库存数") b.HGroups.adddef("state1","状态") b.VGroups.adddef("day1","{0}日") b.Totals.adddef("qty1","数量") ’每日发生的不同性质变化数量 b.build MainTable=Tables("tjb3") ’ 2. 以上是交叉生成流水记录表部份 Dim tbl As Table = Tables("tjb3") Dim hdr As Integer = tbl.HeaderRows \'获得表头的层数 Dim Book As New XLS.Book Dim Sheet As XLS.Sheet = Book.Sheets(0) sheet(0,1).value = Vars("company_name") sheet(1,1).value = Vars("PrnExp") sheet(1,tbl.Cols.Count -2).value = "报表日期:" & Date.now tbl.CreateSheetHeader(Sheet,2,1,False) \'生成表头 For c01 As Integer = 0 To tbl.Cols.Count -1 For r01 As Integer = 0 To tbl.Rows.Count -1 If c01>5 Then ‘第5列以后全是数字列,对0值加以判断并以空白填充。 If tbl(r01,c01)=0 Then sheet(r01 + 2 + hdr,c01+1).value = "" Else sheet(r01 + 2 + hdr,c01+1).value = tbl(r01,c01) End If Else sheet(r01 + 2 + hdr,c01+1).value = tbl(r01,c01) End If Next Next Dim t01 As Date =Date.now Dim rname As String="REP" & year(t01) & hour(t01) & minute(t01) & second(t01) & ".xls" Book.Save(ExcelPath & "\\" & rname) e.WriteBook(book,rname,False) ’3. 以上是动态生成Excel表部份,感觉生成的表不好看,还要进行二次排版。 End If 问题是:通过上面自动生成的Excel 报告不好操作排版,也不好看。 请教:如何将这个动态表TBhref3的动态字段名称也填充到Excel模板中去呢? 请教在Excel 中应该如何定义:用来接收这表字段名称? [此贴子已经被作者于2017/12/13 10:15:27编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/12/12 23:06:00 -- 模板的表面和标题名称改为统计表的名称和列名即可:http://www.foxtable.com/webhelp/scr/2877.htm 比如<订单>改为:<tjb3>
|
-- 作者:lanbor -- 发布时间:2017/12/12 23:18:00 -- 感谢专家及时指教! 感谢专家及时指点! [此贴子已经被作者于2017/12/12 23:29:41编辑过]
|
-- 作者:lanbor -- 发布时间:2017/12/12 23:39:00 -- 再请教后面的号数列是动态出现的情况 再请教表的标题后半部分是随当月日期变化动态产生新列 比如今天是12号、这个报告的数据列也只能动态显示出 出1-12号的列数据! 在excel中应该如何定义? 或是说我只能把31天都提前定义在excel模板中吗? 这点我是不懂的! 请再指点一下、谢谢你 [此贴子已经被作者于2017/12/12 23:51:02编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/12/13 8:39:00 -- 把31天都提前定义在excel模板中 |
-- 作者:lanbor -- 发布时间:2017/12/13 8:56:00 -- 这下明白了,谢谢您! 这下明白了,谢谢您! |
-- 作者:lanbor -- 发布时间:2017/12/15 12:06:00 -- Tables 记录填充Excel 表再请教! 在报表输出部份如下: Dim Book As New XLS.Book(ProjectPath & "Attachments\\report_href4.xls") Dim fl As String = ExcelPath & "ExcelReport\\report_href4.xls" If DataTables("TBhref4").DataRows.Count>0 Then ‘这TBhref4本身就是个临时表,暂存所有汇总记录 msgbox("有记录") ‘确认有记录 Dim tjb4 As New DataTableBuilder("TBhref4") \'增加一临时表,暂时存放所有汇总记录 book.AddDataTable("itemDetail4",tjb4.build(True)) \'这个方法可能没理解对头。 book.save( fl ) Dim proc As new process proc.file=fl End If Dim day1 As Date =Date.now Dim da2 As String=day1.day & day1.hour & day1.minute & day1.second e.WriteBook(book, "item4" & da2 & ".xls",False) ’ 这里输出了一个空白表头 请教专家: 针对上面已经生成好的临时表:TBhref4 如何正确传送到当前模板中? 先谢谢了! |