以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81239) |
||||
-- 作者:9602084 -- 发布时间:2016/2/22 13:54:00 -- [求助] Dim Book As New XLS.Book(ProjectPath & "Attachments\\干部职工基本情况登记表.xls") Dim fl As String = ProjectPath & "Reports\\干部职工基本情况登记表" & Tables("基本信息").current("姓名") & Tables("基本信息").current("档案编号") & " .xls" Dim Sheet As XLS.Sheet = Book.Sheets(0) Dim cmd As new SQLCommand Dim dt As DataTable Dim str As String cmd.C If Forms("综合报表").Controls("CheckBox1").checked = True Then sheet(2,8).value = "<all>" For i As Integer = 0 To Tables("基本信息").rows.count-1 str ="" cmd.CommandText="s elect * f rom {工作简历} where 身份证号码=\'" & Tables("基本信息").Rows(i)("身份证号码") & "\' Order by 任职时间" dt = cmd.ExecuteReader If dt.DataRows.Count > 0 Then For Each dr1 As DataRow In Dt.DataRows str = str & iif(dr1.Isnull("任职时间")," ",format(dr1("任职时间") ,"yyyy.MM")) & StrToWide("-") & iif(dr1.Isnull("任职结束")," ",format(dr1("任职结束"),"yyyy.MM")) & " " & dr1("工作单位") & dr1("担任职务") & vbcrlf Next End If MessageBox.show( i & "--" & 10+i*12 & "--" & str) sheet(10 + i*12,2).value = str Next Else sheet(2,8).value = "" cmd.CommandText="s elect * f rom {工作简历} where 身份证号码=\'" & Tables("基本信息").current("身份证号码") & "\' Order by 任职时间" dt = cmd.ExecuteReader If dt.DataRows.Count > 0 Then For Each dr1 As DataRow In Dt.DataRows str = str & iif(dr1.Isnull("任职时间")," ",format(dr1("任职时间") ,"yyyy.MM")) & StrToWide("-") & iif(dr1.Isnull("任职结束")," ",format(dr1("任职结束"),"yyyy.MM")) & " " & dr1("工作单位") & dr1("担任职务") & vbcrlf Next End If Sheet(10,2).Value = str End If Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Start() 上面报表代码中,红色部分代码,能够正常生成str ,但是写入不了 sheet(10 + i*12,2),请教高手,代码应该怎么修改。
[此贴子已经被作者于2016/2/22 13:59:47编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2016/2/22 14:15:00 -- 能够生成,肯定就能够写入。
拷贝一份 Attachments\\干部职工基本情况登记表.xls 然后把这句代码去掉
Book.Build() \'生成细节区
然后打开那个xls模板,看是否填入了内容。 |
||||
-- 作者:大红袍 -- 发布时间:2016/2/22 14:16:00 -- 自己无法调试,就上传具体例子测试。 |
||||
-- 作者:9602084 -- 发布时间:2016/2/22 14:37:00 -- [求助] 按照二楼的调试办法,内容能够写入,一但正式调用,就出问题,是模板的问题吗?
|
||||
-- 作者:大红袍 -- 发布时间:2016/2/22 14:42:00 -- 你思路有问题,与其这样做,还不如去编写报表事件
http://www.foxtable.com/help/topics/1955.htm
|
||||
-- 作者:大红袍 -- 发布时间:2016/2/22 14:43:00 -- 如果要在你原来的代码上改的话,红色的赋值代码,要写在build的后面才对。 |
||||
-- 作者:9602084 -- 发布时间:2016/2/23 17:55:00 -- [原创] 自己的解决办法,先生成报表,然后修改报表的内容。 |