Foxtable(狐表)用户栏目专家坐堂 → [求助]Excel表导入时,可否设定为第一张工作表


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

主题:[求助]Excel表导入时,可否设定为第一张工作表

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


加好友 发短信
等级:幼狐 帖子:174 积分:1582 威望:0 精华:0 注册:2016/9/28 11:48:00
[求助]Excel表导入时,可否设定为第一张工作表  发帖心情 Post By:2019/9/25 20:03:00 [显示全部帖子]

[求助]Excel表导入时,可否设定为第一张工作表,而不别知道工作表名字就可以导入?

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


加好友 发短信
等级:幼狐 帖子:174 积分:1582 威望:0 精华:0 注册:2016/9/28 11:48:00
  发帖心情 Post By:2019/9/25 20:10:00 [显示全部帖子]

或者是读取工作表

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


加好友 发短信
等级:幼狐 帖子:174 积分:1582 威望:0 精华:0 注册:2016/9/28 11:48:00
  发帖心情 Post By:2019/9/26 10:54:00 [显示全部帖子]

Unable to read beyond the end of the stream.出现这个代码是什么原因

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


加好友 发短信
等级:幼狐 帖子:174 积分:1582 威望:0 精华:0 注册:2016/9/28 11:48:00
  发帖心情 Post By:2019/9/26 11:29:00 [显示全部帖子]

Dim xwj As  new  OpenFileDialog
xwj.Filter="Excel文件(*.xls)|*.xls"
If xwj.ShowDialog=DialogResult.Ok Then
    Dim zy As new Merger
    DataTables("比例计算").DeleteFor("")
    zy.SourcePath=xwj.FileName
    Dim Book As New XLS.Book(xwj.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    messagebox.show(Sheet.name)
    zy.SourceTableName=Sheet.name+"$"
    zy.Fields="数量,采购价,通用名,基药类别,采购类别,招标单元信息,配送企业"
    zy.DataTableName="比例计算"
    zy.Format="Excel"
    zy.Merge()
End If

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


加好友 发短信
等级:幼狐 帖子:174 积分:1582 威望:0 精华:0 注册:2016/9/28 11:48:00
  发帖心情 Post By:2019/9/26 12:13:00 [显示全部帖子]

Dim xwj As  new  OpenFileDialog
xwj.Filter="Excel文件(*.xls)|*.xls"
If xwj.ShowDialog=DialogResult.Ok Then
    DataTables("比例计算").DeleteFor("")
    Dim Book As New XLS.Book(xwj.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("比例计算").StopRedraw()
    Dim nms() As  String = {"数量","采购价","通用名","基药类别","采购类别","招标单元信息","配送企业"}
    For n As Integer = 1 To Sheet.Rows.Count -1
         Dim r As  Row = Tables("比例计算").AddNew()
         For  m As  Integer = 0 To nms.Length - 1
               r(nms(m)) = Sheet(n,m).Value
         Next
   Next
 Tables("比例计算").ResumeRedraw()
  End If

改成这样还是这个错误


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


加好友 发短信
等级:幼狐 帖子:174 积分:1582 威望:0 精华:0 注册:2016/9/28 11:48:00
  发帖心情 Post By:2019/9/26 14:54:00 [显示全部帖子]

这个表麻烦看下

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


加好友 发短信
等级:幼狐 帖子:174 积分:1582 威望:0 精华:0 注册:2016/9/28 11:48:00
  发帖心情 Post By:2019/9/26 14:54:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:科伦2.xls
这个表麻烦看下

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


加好友 发短信
等级:幼狐 帖子:174 积分:1582 威望:0 精华:0 注册:2016/9/28 11:48:00
  发帖心情 Post By:2019/9/26 16:17:00 [显示全部帖子]

再问下,我的是用wps保存的,是不是始终成在这个问题,原来用Dim xwj As  new  OpenFileDialog
Dim str As String
Dim value() As String
xwj.Filter="Excel文件(*.xls)|*.xls"
If xwj.ShowDialog=DialogResult.Ok Then
    Dim zy As new Merger
    DataTables("比例计算").DeleteFor("")
    zy.SourcePath=xwj.FileName
    str=xwj.FileName
    value=str.Split("\")
    str=Value(value.length-1)
    str=str.SubString(0,str.length-4)
    zy.SourceTableName=str+"$"
    zy.Fields="数量,采购价,通用名,基药类别,采购类别,招标单元信息,配送企业"
    zy.DataTableName="比例计算"
    zy.Format="Excel"
    zy.Merge()
End If
这个方式不存在这个情况,我用wps保存都不行,只能用excel保存了才可以
[此贴子已经被作者于2019/9/26 16:17:25编辑过]

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


加好友 发短信
等级:幼狐 帖子:174 积分:1582 威望:0 精华:0 注册:2016/9/28 11:48:00
  发帖心情 Post By:2019/9/27 8:12:00 [显示全部帖子]

哦,那这种就不好解决了

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


加好友 发短信
等级:幼狐 帖子:174 积分:1582 威望:0 精华:0 注册:2016/9/28 11:48:00
  发帖心情 Post By:2019/9/27 10:14:00 [显示全部帖子]

想到另一个方法另存为csv文件,因为使用者是新手,还想用wps打开看所以用这个格式。代码如下:
Dim dlg As new  OpenFileDialog
dlg.Filter="csv文件(*.csv)|*.csv"
If dlg.ShowDialog= DialogResult.Ok Then 
Dim str As String = FileSys.ReadAllText(dlg.FileName, Encoding.Default)
Dim ary() As String = str.Split(new Char() {chr(10), Chr(13)})
DataTables("比例计算").DeleteFor("")
DataTables("比例计算").StopRedraw
For i As Integer = 1 To ary.Length-2 
    Dim s() As String = ary(i).Split(",")
    Dim nr As DataRow = DataTables("比例计算").AddNew
        nr("数量") = s(1).trim()
        nr("采购价") = s(2).trim()
        nr("通用名") = s(4).trim()
        nr("基药类别") = s(12).trim()
        nr("采购类别")=s(16).Trim()
        nr("招标单元信息")=s(17).Trim()
        nr("配送企业")=s(20).Trim()
Next
DataTables("比例计算").ResumeRedraw
End If
谢谢版主

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