Foxtable(狐表)用户栏目专家坐堂 → 关于提取excel文件的问题


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

主题:关于提取excel文件的问题

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
关于提取excel文件的问题  发帖心情 Post By:2018/5/9 11:32:00 [显示全部帖子]

For Each file As String In filesys .GetFiles("E:\资金日报")
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book As New XLS.Book(file)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Dim s As String 
        s=filesys.GetName(file) 
        Dim i As Integer
        For i = 1 To 31
        Dim dr As DataRow = DataTables("资金日报").AddNew
        dr("日期") = i
        dr("分公司") = s
        dr("收入_日常收入_店铺") = sheet(8,i).Text
        dr("收入_日常费用_店铺开支") = sheet(18,i).Text
        Next
    End If
Next

这里做了一个提取excel数据的按钮,但是我有三个问题:
1.我用getname得到的文件名s是包含扩展名的,如何能得到不包含扩展名的文件名或者得到文件名的前缀
2.我想直接得到一个“收入_日常收入_店铺”和“收入_日常费用_店铺开支”的差,我应该怎么做计算
3.getfiles只能从特定的路径选择所有文件,能不能实现手工选择文件进行提取

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/9 11:38:00 [显示全部帖子]

再补充一个问题,如果我想实现每次在提取数据之前,清空现在所有行,还应该在这个代码里面加点什么,麻烦大大啦

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/10 14:36:00 [显示全部帖子]

谢谢大佬,我又有一个问题:
Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    OutPut.Show("你选择了" & dlg.FileNames.Length & "个文件, 分别是:")
    For Each fl As String In dlg.FileNames
        Output.Show(fl)
    Next
End If
For Each fl As String In dlg.FileNames
        Dim Book As New XLS.Book(fl)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Dim s As String 
        s=filesys.GetName(fl) 
        Dim t=s.Substring(0,2)
        Dim i As Integer
        For i = 1 To 31
        Dim dr As DataRow = DataTables("内部往来").AddNew
        dr("日期") = i
        dr("分公司") = t
        dr("内部往来_上海") = val(sheet(15,i).Text)-val(sheet(47,i).Text)
        dr("内部往来_温州") = val(sheet(16,i).Text)-val(sheet(48,i).Text)
        dr("内部往来_杭州") = val(sheet(17,i).Text)-val(sheet(49,i).Text)
        dr("内部往来_宁波") = val(sheet(18,i).Text)-val(sheet(50,i).Text)
        dr("内部往来_南京") = val(sheet(19,i).Text)-val(sheet(51,i).Text)
        dr("内部往来_无锡") = val(sheet(20,i).Text)-val(sheet(52,i).Text)
        dr("内部往来_苏州") = val(sheet(21,i).Text)-val(sheet(53,i).Text)
        dr("内部往来_北京") = val(sheet(22,i).Text)-val(sheet(54,i).Text)
        dr("内部往来_武汉") = val(sheet(23,i).Text)-val(sheet(55,i).Text)
        dr("内部往来_福州") = val(sheet(24,i).Text)-val(sheet(56,i).Text)
        dr("内部往来_天津") = val(sheet(25,i).Text)-val(sheet(57,i).Text)
          Next
Next
XLS.Reports("内往核对").Build()


上面这段代码生成的时候总是会跳出下面字样,是我的代码有问题吗
从字符串“ ”到类型“Decimal”的转换无效。

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/10 15:39:00 [显示全部帖子]

我并没有在datacolchanged事件中设置代码,但是我每个列的格式是高精度小数,会不会和这个有关系

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/10 16:07:00 [显示全部帖子]

不行,找不出来,他是在excel报表出来后才出现报错信息

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/10 16:37:00 [显示全部帖子]

这个例子数据源在foxtable目录下的新建文件夹,我只放了3个数据源,也是有报错信息出现,麻烦帮我看下谢谢啦

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/10 16:40:00 [显示全部帖子]

怎么上传,为什么我上传附件,没有显示

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/10 16:49:00 [显示全部帖子]

报错的例子,数据源在目录下的新建文件夹
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日报汇总 v1.0 - 副本.zip


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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/10 17:08:00 [显示全部帖子]

可以了,多谢了!

 回到顶部