以下是引用zerov在2013-3-13 13:06:00的发言:
把思路或代码贴出来吧,让大家都来学习你解决问题的经验,以后我等菜鸟又可以学一招
主要是所有导入共用一个窗口,希望通过选择文件后自动匹配对应接收表,然而文件名通常是中文的,如果表名是中文的那么就无需转换,如果英文的,就要先转换好,让系统自动匹配。
1、选择文件按钮
With e.Form
Dim dlg As New OpenFileDialog
dlg.Filter= "Excel 97-2003文件(*.xls)|*.xls|Excel 2007文件(*.xlsx)|*.xlsx"
If dlg.ShowDialog = DialogResult.Ok Then
.Controls("TextBox1").value = dlg.FileName
Dim nm As String = FileSys.GetName(dlg.FileName)
.Controls("ComboBox1").value = nm.SubString(0,nm.IndexOf("."))
End If
End With
2、导入按钮
Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim mg As New Merger
mg.SourcePath = txt.Text '指定路径文件
mg.Format = "excel" '指定格式
mg.SourceTableName = "Sheet1$" '指定要合并的表
Dim str As String = cmb.Text
Select Case str
Case "员工档案"
str = "YGDA"
Case "学生档案"
str = "XSDA"
Case Else
MessageBox.show("选择的文件不对")
Return
End Select
mg.DataTableName = str '指定接收数据的表
mg.Merge() '开始合并
DataTables(str).Save() '保存数据