以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  列“”不属于表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94479)

--  作者:刘林
--  发布时间:2016/12/24 15:28:00
--  列“”不属于表
Dim dt As Table = Tables("人事档案")
Dim Book As New XLS.Book \'定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表
For c As Integer = 0 To dt.Cols.Count -1 \'添加列标题
  Sheet(0, c).Value = dt.Cols(c).Name
Next
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then
    Book.Save(dlg.FileName)
    Dim Proc As New Process
    Proc.File = dlg.FileName
    Proc.Start()
End If

上面是想导出表头出来做样表



Dim dlg As new OpenFileDialog
dlg.Filter = "Excel|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Dim bh1 As Integer
    Dim xm1 As Integer
    For i As Integer = 0 To sheet.Cols.count -1
        If sheet(0,i).value = "单位全称"
            bh1 =i
        End If
        If sheet(0,i).value = "姓名"
            xm1 = i
        End If
    Next
    Tables("人事档案").StopRedraw()
    For n As Integer = 1 To Sheet.Rows.Count -1
        Dim bh As String = sheet(n,bh1).value.replace(" ","").replace(chr(9),"")
        Dim xm As String = sheet(n,xm1).value.replace(" ","").replace(chr(9),"")
        Dim dr As DataRow = DataTables("人事档案").Find("单位全称 = \'" & bh & "\' And 姓名 = \'" & xm & "\'")
        If dr Is Nothing Then \'如果不存在同考号的行
            dr =  DataTables("人事档案").AddNew()
        End If
        For m As Integer = 0 To sheet.Cols.count -1
            If sheet(0,m).value IsNot Nothing
                dr(sheet(0,m).value) = Sheet(n,m).Value.replace(" ","").replace(chr(9),"")
            End If
        Next
    Next
    Tables("人事档案").ResumeRedraw()
End If
For Each r As Row In Tables("人事档案").Rows
    For Each c As Col In Tables("人事档案").Cols
        If r.IsNull(c.Name) =  False AndAlso c.IsString Then
            r(c.Name) = r(c.Name).replace(" ","")
            r(c.Name) = r(c.Name).replace(chr(9),"")
        End If
    Next
Next
DataTables("人事档案").DataCols("身份证号码").RaiseDataColChanged()

这段是将数据在EXCL中做好再导进去,

出现:    列“”不属于表 人事档案。 错误请问是什么原因


--  作者:有点蓝
--  发布时间:2016/12/24 15:33:00
--  
Excel表有多余的空列,把数据复制到另外一个表试试
--  作者:刘林
--  发布时间:2016/12/24 15:45:00
--  
我找了没有,我的想法是不要做多余的工作,我把所有空列都删了一次,如果不复制还有什么办法?
--  作者:有点蓝
--  发布时间:2016/12/24 15:47:00
--  
上例子测试

--  作者:刘林
--  发布时间:2016/12/24 16:19:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.foxdb


用刘林,888,

--  作者:有点蓝
--  发布时间:2016/12/24 16:26:00
--  
导入的Excel文件呢
--  作者:刘林
--  发布时间:2016/12/24 17:09:00
--  
有个导出键样表键,将导出的原样导进去就出错
--  作者:刘林
--  发布时间:2016/12/24 19:55:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:888.xls

老师请看下这个原因,项目在5楼,我测了一下,在最后一列后EXCl要出现一个空列,但删节后面的还是一样的,请帮解决,我有几个地方要用到这种导出样表再将样表数据导入,如果剪到另外地方是可以,但这就麻烦了些了

--  作者:狐狸爸爸
--  发布时间:2016/12/25 8:01:00
--  
我测试没有问题。
--  作者:刘林
--  发布时间:2016/12/25 8:56:00
--  
窗口中有个打开导入样表,再填入内江市东兴区石子镇中心学校,姓名XX,再用样表数据导入,就出现    列“”不属于表 人事档案  请求高手们查下,我一列一列测试,导出样表时,每次到最后一列后就会多一列空列,到的表中又找不到,把后面的列全部删一遍也不行,非要剪到另一个表中去才会,这样不是我们想要的结果呀