Foxtable(狐表)用户栏目专家坐堂 → 导入问题


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

主题:导入问题

美女呀,离线,留言给我吧!
susu312
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
导入问题  发帖心情 Post By:2018/9/5 11:12:00 [只看该作者]

老师,这段代码就是我从excel表导入库里时的验证后的代码: 

 

''将Excel表中的列赋值给person表中的一行
             For Each dc As Col In t.Cols   ''对于table1中的每一列
                  'dc.Name = dc.Name.Replace(" ","")  ''去掉列名里面的多余空格   
                  If dc.Name="标记" Then  ''标记列忽略不导入
                        Continue  For
                  End If
                  Dim Index As Integer=Array.Indexof(nums2,dc.name)
                  If dt.DataCols.Contains(nums1(Index)) Then ''如果person表中存在这一列,就将这一列的值赋给person
                        dr(nums1(Index)) = r(dc.name)
                  End If
             Next 

 

 

红色部分,我想去掉模板里面的列名中的空格?但是,提示错误:属性name为只读?  是不是定义临时变量,重新赋值下? 

[此贴子已经被作者于2018/9/5 11:13:29编辑过]

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


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

             ''将Excel表中的列赋值给person表中的一行
             For Each dc As Col In t.Cols   ''对于table1中的每一列
                  dim dname as string = dc.Name.Replace(" ","")  ''去掉列名里面的多余空格   
                  If dname ="标记" Then  ''标记列忽略不导入
                        Continue  For
                  End If
                  Dim Index As Integer=Array.Indexof(nums2,dc.name)
                  If dt.DataCols.Contains(nums1(Index)) Then ''如果person表中存在这一列,就将这一列的值赋给person
                        dr(nums1(Index)) = r(dc.name)
                  End If
             Next 

 回到顶部
美女呀,离线,留言给我吧!
susu312
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/9/5 20:39:00 [只看该作者]

老师,导入功能点取消后,可不可以就不打开那个窗口了?就没有选任何excel表?

 


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

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


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

贴出你写的完整代码。

 回到顶部
美女呀,离线,留言给我吧!
susu312
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/9/5 21:17:00 [只看该作者]

以下是引用有点甜在2018/9/5 20:52:00的发言:
贴出你写的完整代码。

Dim dlg As new OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    If Connections.Contains("test") Then
        If DataTables.Contains("临时表") Then DataTables.Unload("临时表")
        Connections.Delete("test")
    End If
    Connections.Add("test", "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dlg.FileName & ";Extended Properties='Excel 8.0;HDR=yes'")
    Dim tns As String = ""
    For Each tn As String In Connections("test").GetTableNames
        tns &= tn & "|"
    Next
    e.Form.Controls("ComboBox1").ComboList = tns.TrimEnd("|")
    e.Form.Controls("ComboBox1").Selectedindex = 0
End If


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


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

这个代码和你是否打开窗口无关,请贴出对应代码。

 回到顶部
美女呀,离线,留言给我吧!
susu312
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/9/5 21:38:00 [只看该作者]

以下是引用有点甜在2018/9/5 21:30:00的发言:
这个代码和你是否打开窗口无关,请贴出对应代码。

老师,我是有一个导入按钮 ,这个按钮的代码就是:打开这个窗口,这个窗口的afterload事件就是上面那样的


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


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

以下是引用susu312在2018/9/5 21:38:00的发言:

老师,我是有一个导入按钮 ,这个按钮的代码就是:打开这个窗口,这个窗口的afterload事件就是上面那样的

 

1、代码dlg.ShowDialog你可以写到按钮事件那里;

 

2、你也可以在afterLoad事件,写e.form.close的代码。


 回到顶部
美女呀,离线,留言给我吧!
susu312
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/9/6 9:56:00 [只看该作者]

以下是引用有点甜在2018/9/5 22:03:00的发言:

 

1、代码dlg.ShowDialog你可以写到按钮事件那里;

 

2、你也可以在afterLoad事件,写e.form.close的代码。


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

 

老师,要打开的Excel文件是打开状态是,导入功能点击就会出现这个问题,下面是导入功能的代码?

 

我想请教下, 如何判断出要导入的EXCEL文件时打开的,然后我就给用户提出请关闭后重新导入?


Dim dlg As new OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    If Connections.Contains("test") Then
        If DataTables.Contains("临时表") Then DataTables.Unload("临时表")
        Connections.Delete("test")
    Else
         e.Form.Close
    End If
    Connections.Add("test", "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dlg.FileName & ";Extended Properties='Excel 8.0;HDR=yes'")
    Dim tns As String = ""
    For Each tn As String In Connections("test").GetTableNames
        tns &= tn & "|"
    Next
    e.Form.Controls("ComboBox1").ComboList = tns.TrimEnd("|")
    e.Form.Controls("ComboBox1").Selectedindex = 0
Else
    e.Form.Close
End If


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


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

判断是否打开,如果打开,提示或者尝试关闭

 

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

 

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

 


 回到顶部