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


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

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

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
在已有excel表文件中增加sheet工作表出错  发帖心情 Post By:2018/9/14 12:19:00 [只看该作者]

Dim Book As New XLS.Book("d:\data\工资表.xls")
For Each nm As String In DataTables("工资表").GetValues("年月","年月 is not null")
    For Each shet As XLS.Sheet In Book.Sheets
        If shet.Name.Contains(nm) = False Then
            book.Sheets.Add(nm)
        End If
    Next
Next
Book.Save("d:\data\工资表.xls")

出现下面提示错误:


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


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


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

Dim Book As New XLS.Book("d:\data\工资表.xls")
Dim ls As new List(Of String)
For Each shet As XLS.Sheet In Book.Sheets
    ls.add(shet.Name)
Next
For Each nm As String In DataTables("工资表").GetValues("年月","年月 is not null")
    If ls.Contains(nm) = False Then
        ls.add(nm)
        book.Sheets.Add(nm)
    End If
Next
Book.Save("d:\data\工资表.xls")

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


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

老师下面红色部份代码出错:
需求是:根据”工资月报表“模板,生成文件一个excel文件,并根据表的月份自动增加工作表

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("年度") & "-" & dr("月份") & "月份 工资月报表.xls"
Book.Build()
Book.Save(fl)

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
App.Visible = True
ShowAppWindow("工资月报表",2)
Ws.PrintPreview
App.Quit


Dim fl1 As String = pth & dr("年度") & "年度 工资月报表.xls"
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)


错误提示:

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.9.9.1
错误所在事件:窗口,工资表,Button2,Click
详细错误信息:
打开存储文件失败。


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


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

这个代码的路径有问题,请确认存在这个路径的文件。

 

Dim fl1 As String = pth & dr("年度") & "年度 工资月报表.xls"

msgbox(fl1)


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


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

如何在一个excel表中根据“年度”,“月份”生成工资表?代码仅增加了工作表,但如何把模板内容增加进去?


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


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("年度") & "-" & dr("月份") & "月份 工资月报表.xls"
Dim fl1 As String = pth & dr("年度") & "年度 工资月报表.xls"
Book.Build()
Book.Save(fl)
Book.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
        ls.add(nm & "月份")
        book1.Sheets.Add(nm & "月份")
    End If
Next

Book1.Save(fl1)

[此贴子已经被作者于2018/9/18 16:54:51编辑过]

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


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

剪切模板过去

 

http://www.foxtable.com/webhelp/scr/1465.htm

 

 


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


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

下面代码生成excel的工作表名称“sheet1”,如何生成:2月份,3月份,根据“dr("月份") + 月份,如何调整?谢谢

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("年度") & "-" & dr("月份") & "月份 工资月报表.xls"
Book.Build()
Book.Save(fl)

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


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

可以在模板里先创建好各个月份sheet,设置好模板,一起生成。狐表支持同时生成多个sheet的报表

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


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

工资报表是每个月的,我的需求是:每个月生成一个工资月报表,并自动增加到另一个总Excel表中去,如5楼图一样?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工资表.zip


[此贴子已经被作者于2018/9/18 20:34:23编辑过]

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工资月报表.xls


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