以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何将excel文件导入已有数据表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19653) |
||||
-- 作者:rjh4078 -- 发布时间:2012/5/17 9:03:00 -- 如何将excel文件导入已有数据表 数据表已经建好了 现在要导入一些档案 我看帮助里只有导入新建表的介绍 如何将excel导入已有数据表呢? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/5/17 9:06:00 -- 看看: http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=19617&replyID=125414&skin=1
实际上,本月即将发布的新版本连其中的图片都可以提取出来保存为文件,写入foxtable中。 |
||||
-- 作者:rjh4078 -- 发布时间:2012/5/17 9:15:00 -- 代码看懂了一点 不过有个问题 这个sheet(4,3).text 是什么意思? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/5/17 9:18:00 -- 参考: http://www.foxtable.com/help/topics/1159.htm
帮助可以说处处是宝的。 |
||||
-- 作者:rjh4078 -- 发布时间:2012/5/17 9:41:00 -- 还是没弄懂啊
我现在要导入附件中的表到产品资料中去 怎么写代码呢
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/5/17 9:45:00 -- 还有:
http://www.foxtable.com/help/topics/2334.htm
|
||||
-- 作者:lpxjw_zyl -- 发布时间:2012/5/17 10:39:00 -- DataTables("Testlist").DataRows.Clear() Dim dlg As New OpenFileDialog dlg.MultiSelect = True dlg.Filter= "Excel 工作薄(*.xls)|*.xls|Excel 工作薄(*.xlsx)|*.xlsx" \'设置筛选器 If dlg.ShowDialog = DialogResult.OK Then For Each fl As String In dlg.FileNames Dim Book As New XLS.Book(fl) Dim Sheet As XLS.Sheet = Book.Sheets(0) e.Form.Controls("Label1").text = FileSys.GetName(fl) Application.DoEvents() For i As Integer = 3 To Sheet.Rows.count - 1 Dim dr1 As Row = Tables("Testlist").AddNew() For ii As Integer = 0 To Sheet.cols.count - 1 dr1(Sheet(0,ii).value) = sheet(i,ii).Value Next Next Next e.Form.Controls("Label1").Text = "已经完成." MessageBox.Show("数据汇总完毕,请检查数据!", "汇总提示", MessageBoxButtons.OK, MessageBoxIcon.Question) Dim dlg1 As New SaveFileDialog \'定义一个新的SaveFileDialog dlg1.Filter= "Excel文件|*.xls" \'设置筛选器 If dlg1.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim flg As New SaveExcelFlags flg.CellStyle = True flg.RowNumber =True CurrentTable.SaveExcel(dlg1.FileName,"Testlist",flg) End If End If |
||||
-- 作者:lpxjw_zyl -- 发布时间:2012/5/17 10:40:00 -- Dim dlg As New OpenFileDialog dlg.MultiSelect = True dlg.Filter= "Excel 工作薄(*.xls)|*.xls|Excel 工作薄(*.xlsx)|*.xlsx" \'设置筛选器 If dlg.ShowDialog = DialogResult.OK Then For Each fl As String In dlg.FileNames Dim Book As New XLS.Book(fl) Dim Sheet As XLS.Sheet = Book.Sheets(0) Dim Names As New List(Of String) For ls As Integer = 0 To Sheet.Cols.count -1 \'把目标表中的列名变成集合 Names.Add(Sheet(0,ls).value) Next If Names.Contains("统编学籍号")= False Then MessageBox.Show(FileSys.GetName(fl) & "表:" & vbcrlf & "不含""统编学号""字段列", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question) Return Else e.Form.Controls("Label1").text = FileSys.GetName(fl) Application.DoEvents() For i As Integer = 1 To Sheet.Rows.count - 1 Dim dr As DataRow = DataTables("Testlist").Find("[统编学籍号] = \'" & Sheet(i,3).Value & "\'") If dr IsNot Nothing Then \'如果当前表找到此列 For ii As Integer = 0 To Sheet.cols.count - 1 dr(Sheet(0,ii).value) = sheet(i,ii).Value Next Else Dim dr1 As Row = Tables("Testlist").AddNew() \'无此列就增加行并复制数据 For ii As Integer = 0 To Sheet.cols.count - 1 dr1(Sheet(0,ii).value) = sheet(i,ii).Value Next End If Next End If Next e.Form.Controls("Label1").Text = "已经完成." MessageBox.Show("数据汇总完毕,请检查数据!", "汇总提示", MessageBoxButtons.OK, MessageBoxIcon.Question) Dim dlg1 As New SaveFileDialog \'定义一个新的SaveFileDialog dlg1.Filter= "Excel文件|*.xls" \'设置筛选器 If dlg1.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim flg As New SaveExcelFlags flg.CellStyle = True flg.RowNumber =True CurrentTable.SaveExcel(dlg1.FileName,"Testlist",flg) End If End If |
||||
-- 作者:rjh4078 -- 发布时间:2012/5/18 10:36:00 -- 感谢lpxjw_zyl 问题已搞定 |
||||
-- 作者:13636600695 -- 发布时间:2012/5/20 8:10:00 -- Dim ip As New Importer
功能好像差不多,但代码简单了不少,问题是不能更新原有数据
|