Foxtable(狐表)用户栏目专家坐堂 → 批量导入一个工作表下面的多个工作薄


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

主题:批量导入一个工作表下面的多个工作薄

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


加好友 发短信
等级:狐精 帖子:3054 积分:20434 威望:0 精华:0 注册:2016/3/28 16:57:00
批量导入一个工作表下面的多个工作薄  发帖心情 Post By:2021/10/20 9:01:00 [只看该作者]

老师,请教一下,怎么导入一个工作表下的多个工作薄,需要导入的工作薄名称都是数字名称,如下:

 


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

Dim dlg As New OpenFileDialog
dlg.Filter= "Excel 97-2003文件(*.xls)|*.xls|Excel 2007文件(*.xlsx)|*.xlsx"
If dlg.ShowDialog = DialogResult.Ok Then
    Dim nm As String = FileSys.GetName(dlg.FileName)
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(1)  '这个位置该怎么判断呢

    Dim dr As DataRow = DataTables("表A").AddNew

 


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


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

Dim Book As New XLS.Book(dlg.FileName)
for each sheet as XLS.Sheet in Book.Sheets
……
next

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


加好友 发短信
等级:狐精 帖子:3054 积分:20434 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/10/20 9:20:00 [只看该作者]


请老师帮忙,我这种一次导入多个工作薄,应该怎么修改代码,不同工作薄的计量期数不一样,可以按照实际支付金额来判断,为空后期的就不在导入;

 

Dim dlg As New OpenFileDialog

dlg.Filter= "Excel 97-2003文件(*.xls)|*.xls|Excel 2007文件(*.xlsx)|*.xlsx"

If dlg.ShowDialog = DialogResult.Ok Then

    Dim nm As String = FileSys.GetName(dlg.FileName)

    Dim Book As New XLS.Book(dlg.FileName)

    For Each Sheet As XLS.Sheet In Book.Sheets

        'Dim Sheet As XLS.Sheet = Book.Sheets(1)

        Dim dr As DataRow = DataTables("表A").AddNew

        dr("项目编号") = sheet(0,0).Text

        dr("项目名称") = sheet(0,2).text

        dr("计量期数") = sheet(4,5).text

        dr("公司开piao金额") = sheet(5,5).text

        dr("到账日期") = sheet(6,5).text

        dr("收款账户") = sheet(7,5).text

        dr("到账金额") = sheet(8,5).text

        dr("成本fa piao") = sheet(9,5).text

        dr("人工工资") = sheet(10,5).text

        dr("成本差额") = sheet(11,5).text

        dr("应交增值税") = sheet(12,5).text

        dr("预缴增值税") = sheet(13,5).text

        dr("抵扣增值税") = sheet(14,5).text

        dr("应补增值税") = sheet(15,5).text

        dr("成本差额所得税") = sheet(16,5).text

        dr("企业所得税") = sheet(17,5).text

        dr("个人所得税") = sheet(18,5).text

        dr("公司扣税小计") = sheet(19,5).text

        dr("资料保证金") = sheet(25,5).text

        dr("安全保证金") = sheet(21,5).text

        dr("质量保证金") = sheet(22,5).text

        dr("应急保证金") = sheet(23,5).text

        dr("其它费用") = sheet(24,5).text

        dr("退扣款项目") = sheet(25,5).text

        dr("其他扣款小计") = sheet(26,5).text

        dr("现金补税") = sheet(27,5).text

        dr("项目管理费") = sheet(28,5).text

        dr("银行手续费") = sheet(29,5).text

        dr("扣款合计") = sheet(35,5).text

        dr("实际支付金额") = sheet(31,5).text

        dr("实际支付日期") = sheet(32,5).text

        dr("公司开piao日期") = sheet(33,5).text

        dr("开piao类别") = sheet(34,5).text

        dr("备注") = sheet(35,5).text

    Next

End If

 


以下内容是专门发给有点蓝浏览

[此贴子已经被作者于2021/10/20 9:20:59编辑过]

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


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

if val(sheet(31,5).text) > 0 then
不为空

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


加好友 发短信
等级:狐精 帖子:3054 积分:20434 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/10/20 9:34:00 [只看该作者]

多导入多列的应该怎么写啊?不同表需要的导入的列还不一样

 


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


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

遍历所有列,

For n As Integer = 5 To Sheet.Cols.Count -1

 回到顶部