Initial commit
This commit is contained in:
134
EDOKA_Toolset/Plugin_Doc_Retrival/DocRetrival/clsImport.vb
Normal file
134
EDOKA_Toolset/Plugin_Doc_Retrival/DocRetrival/clsImport.vb
Normal file
@@ -0,0 +1,134 @@
|
||||
Imports System.Data
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.Data.SqlTypes
|
||||
Imports System.IO
|
||||
Imports System.Data.OleDb
|
||||
Imports System.Threading
|
||||
Imports System.Windows.Forms
|
||||
|
||||
Public Class clsImport
|
||||
Dim m_dsdaten As DataSet
|
||||
Property dsdaten As DataSet
|
||||
Get
|
||||
Return m_dsdaten
|
||||
End Get
|
||||
Set(value As DataSet)
|
||||
m_dsdaten = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New()
|
||||
Me.m_dsdaten = New DataSet
|
||||
End Sub
|
||||
|
||||
Public Function Import_file() As Boolean
|
||||
Dim openfdialog As New OpenFileDialog
|
||||
openfdialog.Filter() = "Excel-Dateien (*.xlsx)|*.xlsx|Excel-Dateien (*.xls)|*.xls|CSV-Dateien (*.csv)|*.csv|Text-Dateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*"
|
||||
openfdialog.FilterIndex = Globals.defaultextension
|
||||
If openfdialog.ShowDialog() <> DialogResult.OK Then
|
||||
Return False
|
||||
End If
|
||||
FillDataTableFromText(openfdialog.FileName)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Function FillDataTableFromText(ByVal file As String) As DataTable
|
||||
Select Case UCase(Microsoft.VisualBasic.Right(file, 3))
|
||||
Case "CSV"
|
||||
Dim csv As New MyNameSpace.CSVDataAdapter(file, True, ";")
|
||||
csv.Fill(Me.dsdaten)
|
||||
'Rel 4.03 3: Wenn die erste Spalte <> "Parternr" dann Meldung ausgeben und alle Rows löchen
|
||||
|
||||
Me.dsdaten.Tables(0).TableName = "empfdatatable"
|
||||
Case "TXT"
|
||||
Dim csv As New MyNameSpace.CSVDataAdapter(file, True, ";")
|
||||
csv.Fill(Me.dsdaten)
|
||||
|
||||
Me.dsdaten.Tables(0).TableName = "empfdatatable"
|
||||
Case "XLS"
|
||||
If oledbimport(file, "XLS") Then
|
||||
Me.dsdaten.Tables(0).TableName = "empfdatatable"
|
||||
End If
|
||||
Case "XLSX"
|
||||
If oledbimport(file, "XLSX") Then
|
||||
Me.dsdaten.Tables(0).TableName = "empfdatatable"
|
||||
End If
|
||||
End Select
|
||||
'Rel. Office Migration
|
||||
If UCase(Microsoft.VisualBasic.Right(file, 5)) = ".XLSX" Then
|
||||
If oledbimport(file, "XLSX") Then
|
||||
Me.dsdaten.Tables(0).TableName = "empfdatatable"
|
||||
End If
|
||||
|
||||
End If
|
||||
Dim dv As DataRow
|
||||
|
||||
End Function
|
||||
|
||||
Private Function oledbimport(ByVal file As String, ByVal filetype As String) As Boolean
|
||||
Dim dt As New DataTable()
|
||||
Dim conn As OleDbConnection
|
||||
Dim sql As String
|
||||
Dim FileConnection As String
|
||||
Dim oda As New OleDbDataAdapter()
|
||||
Dim msg As String
|
||||
|
||||
Select Case filetype
|
||||
Case "XLS"
|
||||
Try
|
||||
Dim xls As New XLSLib.clsXLSLib
|
||||
dt = xls.Get_Excel(file)
|
||||
|
||||
Me.dsdaten.Tables.Add(dt)
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message)
|
||||
End Try
|
||||
Case "XLSX"
|
||||
Try
|
||||
Dim xls As New XLSLib.clsXLSLib
|
||||
dt = xls.Get_Excel(file)
|
||||
|
||||
Me.dsdaten.Tables.Add(dt)
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message)
|
||||
End Try
|
||||
End Select
|
||||
|
||||
Try
|
||||
Try
|
||||
conn = New OleDbConnection()
|
||||
conn.ConnectionString = FileConnection
|
||||
conn.Open()
|
||||
Catch ex As Exception
|
||||
msg = ex.Message
|
||||
End Try
|
||||
oda = New OleDbDataAdapter(sql, conn)
|
||||
oda.Fill(dt)
|
||||
'Rel 4.03 4: Sofern die erste Spalte der importierten Daten keine Partnernummer ist, Meldung ausgeben
|
||||
If dt.Columns(0).Caption <> "Partnernr" Then
|
||||
' MyMsg.show_standardmessage(50001, MsgBoxStyle.Exclamation)
|
||||
dt.Rows.Clear()
|
||||
End If
|
||||
Me.dsdaten.Tables.Add(dt)
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
Finally
|
||||
oda.Dispose()
|
||||
conn.Dispose()
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function Get_Sheetname(ByVal excelfile As String) As String
|
||||
Dim f As New frmExcelSheets
|
||||
f.ExcelFile = excelfile
|
||||
f.ShowDialog()
|
||||
If f.DialogResult = Windows.Forms.DialogResult.OK Then
|
||||
Return f.ExcelSheet
|
||||
Else
|
||||
Return ""
|
||||
End If
|
||||
End Function
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user