以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  合并导入问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76294)

--  作者:sf020cf
--  发布时间:2015/10/26 16:03:00
--  合并导入问题
合并外部数据时提示不是合法日期 通过杂项高速合并时 日期变成数字 具体看图 
[此贴子已经被作者于2015/10/26 16:42:27编辑过]

--  作者:大红袍
--  发布时间:2015/10/26 16:08:00
--  

说明的单元格的就不是日期数据。

 

上传要导入的数据表,贴出你写的代码。


--  作者:大红袍
--  发布时间:2015/10/26 16:10:00
--  

比如excel可以这样导入

 

http://www.foxtable.com/help/topics/2334.htm

 


--  作者:sf020cf
--  发布时间:2015/10/26 16:45:00
--  

我上传了附件 都去哪了

 


--  作者:大红袍
--  发布时间:2015/10/26 16:46:00
--  

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78

 


--  作者:sf020cf
--  发布时间:2015/10/26 16:53:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:desktop.zip


--  作者:sf020cf
--  发布时间:2015/10/26 16:54:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2015-10-26_155643.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2015-10-26_155736.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2015-10-26_155840.jpg
图片点击可在新窗口打开查看

--  作者:sf020cf
--  发布时间:2015/10/26 17:18:00
--  

针对不同格式的表能不能 用一个对话框选择合并的列项目 可以读出外部表的字段 和 内部表的字段 然后选择外部表的哪个字段等于内部表的哪个字段

相当于把下面的代码分开用对话框选择:

Dim sCols() As String = {"列名1", "列名2", "列名3"}
Dim
 dCols() As String = {"列名A", "列名B", "列名C"} 

因为外部表的列名不是固定的 所以有这个想法


--  作者:大红袍
--  发布时间:2015/10/26 17:40:00
--  

你的excel文件有问题要额外处理啊一下,参考代码

 

Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim App As New MSExcel.Application
    try
        Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)
        Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("总计划表")
        Tables("表A").ResumeRedraw()
        Tables("表A").StopRedraw()
        Dim nms() As  String = {"第一列","第二列"}
       
        For n As Integer = 2 To ws.UsedRange.Rows.Count -1
            Dim r As  Row = Tables("表A").AddNew()
            For  m As  Integer = 0 To nms.Length - 1
                If Tables("表A").Cols(nms(m)).IsDate Then
                    Dim d As Date
                    If Date.TryParse(ws.cells(n,m+1).Text, d)
                        r(nms(m)) = d
                    End If
                Else
                    r(nms(m)) = ws.cells(n,m+1).Text
                   
                End If
            Next
        Next
        Tables("表A").ResumeRedraw()
       
    catch ex As exception
        msgbox(ex.message)
        app.quit
    End try
End If

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=65686&skin=0

 


--  作者:sf020cf
--  发布时间:2015/10/27 9:51:00
--  
以下是引用大红袍在2015/10/26 17:40:00的发言:

你的excel文件有问题要额外处理啊一下,参考代码

 

Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim App As New MSExcel.Application
    try
        Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)
        Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("总计划表")
        Tables("表A").ResumeRedraw()
        Tables("表A").StopRedraw()
        Dim nms() As  String = {"第一列","第二列"}
       
        For n As Integer = 2 To ws.UsedRange.Rows.Count -1
            Dim r As  Row = Tables("表A").AddNew()
            For  m As  Integer = 0 To nms.Length - 1
                If Tables("表A").Cols(nms(m)).IsDate Then
                    Dim d As Date
                    If Date.TryParse(ws.cells(n,m+1).Text, d)
                        r(nms(m)) = d
                    End If
                Else
                    r(nms(m)) = ws.cells(n,m+1).Text
                   
                End If
            Next
        Next
        Tables("表A").ResumeRedraw()
       
    catch ex As exception
        msgbox(ex.message)
        app.quit
    End try
End If

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=65686&skin=0

 

我上传的列子里就是用了时间处理,一样会报错 应该是数据问题 上面说针对不同格式的表的那些功能能否实现