Foxtable(狐表)用户栏目专家坐堂 → 在已有excel表文件中增加sheet工作表出错


  共有3705人关注过本帖树形打印复制链接

主题:在已有excel表文件中增加sheet工作表出错

帅哥哟,离线,有人找我吗?
ZJZK2018
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/9/18 21:14:00 [只看该作者]

这个代码如何编辑?

 回到顶部
帅哥,在线噢!
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106672 积分:542549 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/18 21:32:00 [只看该作者]

直接生成即可:http://www.foxtable.com/webhelp/scr/1145.htm


Dim dr As Row = Tables("工资月报表").Current
Dim pth As String = ProjectPath & "Reports\工资月报表\" & dr("年度") & "\"
If FileSys.DirectoryExists(pth) = False Then   '创建新文件夹
    FileSys.CreateDirectory(pth)
End If

Dim Book As New XLS.Book(ProjectPath & "Attachments\工资月报表.xls")  '提取模板
Dim fl As String = pth & dr("年度") & "年度工资月报表.xls"
Book.Build()  '生成细节区
Book.Save(fl)   '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/9/19 23:46:00 [只看该作者]

折腾了三个小时还是出错,只有请老师帮忙:

Dim dr As Row = Tables("工资月报表").Current
Dim pth As String = ProjectPath & "Reports\工资月报表\" & dr("年度") & "\"
If FileSys.DirectoryExists(pth) = False Then   '创建新文件夹
    FileSys.CreateDirectory(pth)
End If
Dim st As String =  dr("月份") & "月份"
Dim yfl As String = pth & dr("年度") & "-" & dr("月份") & "月份 工资月报表.xls"
Dim nfl As String = pth & dr("年度") & "年度 工资月报表.xls"   '指定文件名
Dim bok As New XLS.Book()
If FileSys.FileExists(nfl) = False Then
    Bok.Save(nfl)        '保存年度工资月报表
End If

If FileSys.FileExists(yfl) = True Then
    ''======单个工资月报表汇复制到总工资年度表======
    Dim Bok1 As New XLS.Book(yfl)    '每月工资月报表
    Dim Bok2 As New XLS.Book(nfl)   '年度工资月报表
    For Each sht As XLS.Sheet In bok.Sheets   '年度工资月报表工作表
        Dim shet As XLS.Sheet = Bok1.Sheets(st)
        If sht.Name <> st Then
            Bok1.Sheets.Remove(shet)
            Bok2.Sheets.Add(shet)
            Bok2.Save(nfl)
        Else
            bok2.Sheets.Remove(shet)
            bok2.Save(nfl)
            Bok1.Sheets.Remove(shet)
            Bok2.Sheets.Add(shet)
            Bok2.Save(nfl)
        End If
    Next
Else
    MessageBox.Show("请先生成本月工资月报表,再执行生成Pdf")
End If

MessageBox.Show("Pdf已生成!")


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


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/20 8:37:00 [只看该作者]

没看懂你要做什么,不会做上传具体实例说明。

 

Dim Book1 As New XLS.Book(fl1)
Dim ls As new List(Of String)
For Each shet As XLS.Sheet In Book1.Sheets
    ls.add(shet.Name)
Next
For Each nm As String In DataTables("工资月报表").GetValues("月份")
    If ls.Contains(nm) = False Then
        ls.add(nm & "月份")
        book1.Sheets.Add(nm & "月份")
    End If
Next

Book1.Save(fl1)

 

 

改成

 

Dim Book1 As New XLS.Book(fl1)
Dim ls As new List(Of String)
For Each shet As XLS.Sheet In Book1.Sheets
    ls.add(shet.Name)
Next
For Each nm As String In DataTables("工资月报表").GetValues("月份")
    If ls.Contains(nm) = False Then
        '在这里插入模板啊
    End If
Next

Book1.Save(fl1)

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/20 8:49:00 [只看该作者]

Dim dr As Row = Tables("工资月报表").Current
Dim pth As String = ProjectPath & "Reports\工资月报表\" & dr("年度") & "\"
If FileSys.DirectoryExists(pth) = False Then   '创建新文件夹
    FileSys.CreateDirectory(pth)
End If
Dim st As String =  dr("月份") & "月份"
Dim yfl As String = pth & dr("年度") & "-" & dr("月份") & "月份 工资月报表.xls"
Dim nfl As String = pth & dr("年度") & "年度 工资月报表.xls"   '指定文件名
Dim bok As New XLS.Book()
If FileSys.FileExists(nfl) = False Then
    Bok.Save(nfl)        '保存年度工资月报表
End If


If FileSys.FileExists(yfl) = True Then
    ''======单个工资月报表汇复制到总工资年度表======
    Dim Bok1 As New XLS.Book(yfl)    '每月工资月报表
    Dim Bok2 As New XLS.Book(nfl)   '年度工资月报表
    Dim ls As new List(of String)
    For Each shet As XLS.Sheet In Bok2.Sheets
        ls.add(shet.Name)
    Next
    If ls.Contains(st) = False Then
        Dim shet = bok1.sheets(st)
        Bok1.Sheets.Remove(shet)
        Bok2.Sheets.Add(shet)
        Bok2.Save(nfl)
    Else
        Dim shet = bok2.sheets(st)
        bok2.Sheets.Remove(shet)
        '            bok2.Save(nfl)
        shet = bok1.sheets(st)
        Bok1.Sheets.Remove(shet)
        Bok2.Sheets.Add(shet)
        Bok2.Save(nfl)
    End If
Else
    MessageBox.Show("请先生成本月工资月报表,再执行生成Pdf")
End If


MessageBox.Show("Pdf已生成!")


 回到顶部
总数 15 上一页 1 2