Foxtable(狐表)用户栏目专家坐堂 → Importer


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

主题:Importer

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


加好友 发短信
等级:童狐 帖子:248 积分:1985 威望:0 精华:0 注册:2014/5/13 10:53:00
Importer  发帖心情 Post By:2014/10/29 13:24:00 [只看该作者]

Importer方法可以放在for each 里循环导入吗?我导入excel表中的sheet1可以,导入sheet2,sheet3都会提示运行错误。

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


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/10/29 13:41:00 [只看该作者]

贴出你的代码

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


加好友 发短信
等级:童狐 帖子:248 积分:1985 威望:0 精华:0 注册:2014/5/13 10:53:00
  发帖心情 Post By:2014/10/29 14:03:00 [只看该作者]

Dim MyBook As New C1Excel.C1XLBook  '当前的Book
Dim str As String
Dim i,bi As Integer
i = 0
bi = 0
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xlsx|Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim ip As New Importer
    ip.SourcePath = dlg.FileName '指定数据文件
    MyBook.load(dlg.FileName)
    For Each sheet As C1Excel.XLSheet In MyBook.Sheets()
        str = sheet.name
        If i = bi Then
            ip.SourceTableName = str '指定要导入的表
            ip.NewTableName = str '导入后的表名
            ip.Format = "Excel" '指定导入格式
            MessageBox.Show(ip.SourceTableName & "\" & ip.NewTableName &"\"& ip.Format)
            ip.Import()
            i += 1
            bi = i
        End If
    Next
End If

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


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

Dim MyBook As New C1Excel.C1XLBook  '当前的Book
Dim str As String
Dim i,bi As Integer
i = 0
bi = 0
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xlsx|Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
   
    MyBook.load(dlg.FileName)
    For Each sheet As C1Excel.XLSheet In MyBook.Sheets()
        str = sheet.name
        If i = bi Then
            Dim ip As New Importer
            ip.SourcePath = dlg.FileName '指定数据文件
            ip.SourceTableName = str '指定要导入的表
            ip.NewTableName = str '导入后的表名
            ip.Format = "Excel" '指定导入格式
            MessageBox.Show(ip.SourceTableName & "\" & ip.NewTableName &"\"& ip.Format)
            ip.Import()
            i += 1
            bi = i
        End If
    Next
End If

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


加好友 发短信
等级:婴狐 帖子:37 积分:342 威望:0 精华:0 注册:2016/3/2 10:15:00
  发帖心情 Post By:2016/4/21 16:05:00 [只看该作者]

这段代码如果目标表有 三个工作表则全部导入数据了

这段代码  如何 改成 让用户 选择导入 哪一个数据表

或者 进行询问是否导入,点是后才导入



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/21 16:12:00 [只看该作者]

Dim dlg As new OpenFileDialog
dlg.Filter = "Excel|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    Dim book As new XLS.Book(dlg.FileName)
    For Each sheet As XLS.Sheet In book.Sheets
        Dim Result As DialogResult
        Result = MessageBox.Show("是否要导入" & sheet.name & "表", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            Dim ip As New Importer
            ip.SourcePath = dlg.FileName
            ip.SourceTableName =  sheet.Name & "$" '指定要导入的表
            ip.NewTableName = sheet.name.trim()  '导入后的表名
            ip.Format = "Excel" '指定导入格式
            ip.Import()
        End If
    Next
End If

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


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2016/4/21 22:15:00 [只看该作者]

这个功能怎么就不能选择列再导入呢

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/22 0:24:00 [只看该作者]

以下是引用凡夫俗子在2016/4/21 22:15:00的发言:
这个功能怎么就不能选择列再导入呢

 

你可以单独做一个窗口,读取第一行的值作为列选择,然后控制 Fields

 

Fields


指定要导入的字段(列),不同的字段,用逗号给开,如果不指定,则导入所有字段。


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


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2016/4/22 6:45:00 [只看该作者]

好如果已有Fieds参数字符串如何在导入时加入这个参数

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/22 8:35:00 [只看该作者]


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