以文本方式查看主题

-  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=116736)

--  作者:2900819580
--  发布时间:2018/3/30 10:16:00
--  [求助] 用代码生成的Excel,第一列不见了
Dim tb As Table = Tables(e.Form.Name & "_Table5")
Dim dt As DataTable = tb.DataTable
Dim r As Row = tb.Current
Dim d As Date = Functions.Execute("返回服务器日期")
Dim lj As String = "d:\\采购订单模板\\" &  " _ "  & d.Year & "_" &   d.Month & "_" &  d.Day & "\\"


Dim Book As New XLS.Book(ProjectPath & "Attachments\\123.xls") \'打开模板
Dim fl1 As String =  lj & "Reports\\" & r("采购订单号") & "_采购订单.xls"
Dim fl As String = lj & r("采购订单号") & "_采购订单.xls"

Dim Sheet As XLS.Sheet = Book.Sheets(0)

For ri As Integer = 0 To tb.Rows.Count - 1
    For ci As Integer = 0 To tb.Cols.Count - 1
        MessageBox.Show(sheet(1,ci).value & "|" & tb.Cols(ci).Name)
        sheet(ri + 2,ci).value = tb.rows(ri)(tb.Cols(ci).Name)
    Next
Next

Book.Build() \'生成报表
Book.Save(fl)

图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看






--  作者:有点甜
--  发布时间:2018/3/30 10:26:00
--  

方法一:

 

For ri As Integer = 0 To tb.Rows.Count - 1
    For ci As Integer = 0 To tb.Cols.Count - 1
        MessageBox.Show(sheet(1,ci).value & "|" & tb.Cols(ci).Name)
        sheet(ri + 2,ci+1).value = tb.rows(ri)(tb.Cols(ci).Name)
    Next
Next
 
方法二:你不需要build的吧?拷贝一份模板,然后直接写入,把Book.Build()删除即可。