以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]导入列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88045)

--  作者:扶风
--  发布时间:2016/7/25 18:32:00
--  [求助]导入列

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

老师,我想问下,现在我想将EXCEL的内容导入到狐表中,其中有列是按日期来的,我想把日期作为固定列,但日期换了月份就会变,如何处理

--  作者:大红袍
--  发布时间:2016/7/25 18:43:00
--  

 列名,直接 日1、日2、日3 之类的命名就好。

 

 合并数据,直接用代码来合并。

 

 标题,根据当月的动态修改标题。


--  作者:扶风
--  发布时间:2016/7/25 18:53:00
--  
“标题,根据当月的动态修改标题”
这个是什么意思?请教。

--  作者:扶风
--  发布时间:2016/7/25 20:26:00
--  
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.*" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim mg As New Merger
    mg.Format = "Excel2007"
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "sheet1$"
    mg.DataTableName = "产量报表"
    mg.FieldMaps.Add("2016-6-1_三","日1") 
    mg.Merge()


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

老师,请教:用上述代码合并,但有第1行是空行;再就是没有日期下面的产量信息。

--  作者:大红袍
--  发布时间:2016/7/25 20:30:00
--  

 这个表,固定是31列,如果要修改标题显示,就动态设置

 

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

 


--  作者:扶风
--  发布时间:2016/7/25 20:40:00
--  
老师,标题我们不用修改,主要是数据合并不进去。
列(每日)的产量数据合并不进去,上图中显示是空值。
--  作者:大红袍
--  发布时间:2016/7/25 20:43:00
--  

编写代码合并

 

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

 


--  作者:扶风
--  发布时间:2016/7/27 8:59:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作汇总.zip


老师,麻烦帮我看下是什么问题,button5 数据合并显示错误,但是退出后进去又有,但是只有40多行,原数据是150行左右,显示不全。

--  作者:大红袍
--  发布时间:2016/7/27 9:18: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)
    Dim  Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("产量报表").StopRedraw()
    \'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
    Dim nms() As  String = { "工位","员工工号","姓名","日1","日2","日3","日4","日5","日6","日7","日8","日9","日10","日11","日12","日13","日14","日15","日16","日17","日18","日19","日20","日21","日22","日23","日24","日25","日26","日27","日28","日29","日30","日31","总量","白班产量","晚班产量","上班天数","白班天数","晚班天数","双休加班","请假天数","白班其他时间","晚班其他时间","备注" }
    \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
    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
            If Tables("产量报表").Cols(nms(m)).IsNumeric Then
                r(nms(m)) = val(Sheet(n,m).Value)
            Else
                r(nms(m)) = Sheet(n,m).Value
            End If
        Next
    Next
    Tables("产量报表").ResumeRedraw()
End If


--  作者:扶风
--  发布时间:2016/7/27 19:09:00
--  
好的,老师,那再次请教一下图片中所示问题:

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