Merge branch 'newMaster2024' of https://dev.azure.com/VeragAG/_git/SDL into newMaster2024

This commit is contained in:
2025-08-08 14:51:17 +02:00
3 changed files with 563 additions and 19 deletions

View File

@@ -2185,7 +2185,10 @@ Public Class usrCntlSpeditionsBuchSuche
For Each row As DataRow In ZOLLANMELDUNG.dtWARENPOS.Rows For Each row As DataRow In ZOLLANMELDUNG.dtWARENPOS.Rows
Dim ZollInProzent As Double = ZOLLANMELDUNG.ABGABEN_ZOLL / ZOLLANMELDUNG.Rechnungspreis * 100 Dim ZollInProzent As Double = 0
If If(ZOLLANMELDUNG.RechnungspreisohneWahrung, "") <> "" Then
ZollInProzent = ZOLLANMELDUNG.ABGABEN_ZOLL / ZOLLANMELDUNG.RechnungspreisohneWahrung * 100
End If
Blatt.Range("A" & cnt).Value = cnt - 1 Blatt.Range("A" & cnt).Value = cnt - 1
Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum") Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum")
@@ -2223,7 +2226,10 @@ Public Class usrCntlSpeditionsBuchSuche
rowcounter += 1 rowcounter += 1
Next Next
Else Else
Dim ZollInProzent As Double = ZOLLANMELDUNG.ABGABEN_ZOLL / ZOLLANMELDUNG.Rechnungspreis * 100 Dim ZollInProzent As Double = 0
If If(ZOLLANMELDUNG.RechnungspreisohneWahrung, "") <> "" Then
ZollInProzent = ZOLLANMELDUNG.ABGABEN_ZOLL / ZOLLANMELDUNG.RechnungspreisohneWahrung * 100
End If
Blatt.Range("A" & cnt).Value = cnt - 1 Blatt.Range("A" & cnt).Value = cnt - 1
Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum") Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum")

View File

@@ -52,11 +52,13 @@ Partial Class usrCntlATLAS_EZA
Me.OptionenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.OptionenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.SpeichernToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.SpeichernToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.LadenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.LadenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.XMLExampleToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.DateiimportToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.DateiimportToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.DynamicAutomotiveXLSToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.DynamicAutomotiveXLSToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.GEZEXLSXToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
Me.EZAIDToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.EZAIDToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.XMLExampleToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.MEYLEXLSXToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainer.Panel1.SuspendLayout() Me.SplitContainer.Panel1.SuspendLayout()
Me.SplitContainer.SuspendLayout() Me.SplitContainer.SuspendLayout()
@@ -425,19 +427,25 @@ Partial Class usrCntlATLAS_EZA
'SpeichernToolStripMenuItem 'SpeichernToolStripMenuItem
' '
Me.SpeichernToolStripMenuItem.Name = "SpeichernToolStripMenuItem" Me.SpeichernToolStripMenuItem.Name = "SpeichernToolStripMenuItem"
Me.SpeichernToolStripMenuItem.Size = New System.Drawing.Size(180, 22) Me.SpeichernToolStripMenuItem.Size = New System.Drawing.Size(145, 22)
Me.SpeichernToolStripMenuItem.Text = "Speichern" Me.SpeichernToolStripMenuItem.Text = "Speichern"
' '
'LadenToolStripMenuItem 'LadenToolStripMenuItem
' '
Me.LadenToolStripMenuItem.Name = "LadenToolStripMenuItem" Me.LadenToolStripMenuItem.Name = "LadenToolStripMenuItem"
Me.LadenToolStripMenuItem.Size = New System.Drawing.Size(180, 22) Me.LadenToolStripMenuItem.Size = New System.Drawing.Size(145, 22)
Me.LadenToolStripMenuItem.Text = "Laden ..." Me.LadenToolStripMenuItem.Text = "Laden ..."
Me.LadenToolStripMenuItem.Visible = False Me.LadenToolStripMenuItem.Visible = False
' '
'XMLExampleToolStripMenuItem
'
Me.XMLExampleToolStripMenuItem.Name = "XMLExampleToolStripMenuItem"
Me.XMLExampleToolStripMenuItem.Size = New System.Drawing.Size(145, 22)
Me.XMLExampleToolStripMenuItem.Text = "XML Example"
'
'DateiimportToolStripMenuItem 'DateiimportToolStripMenuItem
' '
Me.DateiimportToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DynamicAutomotiveXLSToolStripMenuItem}) Me.DateiimportToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DynamicAutomotiveXLSToolStripMenuItem, Me.GEZEXLSXToolStripMenuItem, Me.MEYLEXLSXToolStripMenuItem})
Me.DateiimportToolStripMenuItem.Name = "DateiimportToolStripMenuItem" Me.DateiimportToolStripMenuItem.Name = "DateiimportToolStripMenuItem"
Me.DateiimportToolStripMenuItem.Size = New System.Drawing.Size(87, 20) Me.DateiimportToolStripMenuItem.Size = New System.Drawing.Size(87, 20)
Me.DateiimportToolStripMenuItem.Text = "Datei-Import" Me.DateiimportToolStripMenuItem.Text = "Datei-Import"
@@ -448,6 +456,12 @@ Partial Class usrCntlATLAS_EZA
Me.DynamicAutomotiveXLSToolStripMenuItem.Size = New System.Drawing.Size(224, 22) Me.DynamicAutomotiveXLSToolStripMenuItem.Size = New System.Drawing.Size(224, 22)
Me.DynamicAutomotiveXLSToolStripMenuItem.Text = "Dynamic Automotive (XLSX)" Me.DynamicAutomotiveXLSToolStripMenuItem.Text = "Dynamic Automotive (XLSX)"
' '
'GEZEXLSXToolStripMenuItem
'
Me.GEZEXLSXToolStripMenuItem.Name = "GEZEXLSXToolStripMenuItem"
Me.GEZEXLSXToolStripMenuItem.Size = New System.Drawing.Size(224, 22)
Me.GEZEXLSXToolStripMenuItem.Text = "GEZE (XLSX)"
'
'ToolStripMenuItem1 'ToolStripMenuItem1
' '
Me.ToolStripMenuItem1.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.EZAIDToolStripMenuItem}) Me.ToolStripMenuItem1.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.EZAIDToolStripMenuItem})
@@ -461,11 +475,11 @@ Partial Class usrCntlATLAS_EZA
Me.EZAIDToolStripMenuItem.Size = New System.Drawing.Size(109, 22) Me.EZAIDToolStripMenuItem.Size = New System.Drawing.Size(109, 22)
Me.EZAIDToolStripMenuItem.Text = "EZA ID" Me.EZAIDToolStripMenuItem.Text = "EZA ID"
' '
'XMLExampleToolStripMenuItem 'MEYLEXLSXToolStripMenuItem
' '
Me.XMLExampleToolStripMenuItem.Name = "XMLExampleToolStripMenuItem" Me.MEYLEXLSXToolStripMenuItem.Name = "MEYLEXLSXToolStripMenuItem"
Me.XMLExampleToolStripMenuItem.Size = New System.Drawing.Size(180, 22) Me.MEYLEXLSXToolStripMenuItem.Size = New System.Drawing.Size(224, 22)
Me.XMLExampleToolStripMenuItem.Text = "XML Example" Me.MEYLEXLSXToolStripMenuItem.Text = "MEYLE (XLSX)"
' '
'usrCntlATLAS_EZA 'usrCntlATLAS_EZA
' '
@@ -524,4 +538,6 @@ Partial Class usrCntlATLAS_EZA
Friend WithEvents DateiimportToolStripMenuItem As ToolStripMenuItem Friend WithEvents DateiimportToolStripMenuItem As ToolStripMenuItem
Friend WithEvents DynamicAutomotiveXLSToolStripMenuItem As ToolStripMenuItem Friend WithEvents DynamicAutomotiveXLSToolStripMenuItem As ToolStripMenuItem
Friend WithEvents XMLExampleToolStripMenuItem As ToolStripMenuItem Friend WithEvents XMLExampleToolStripMenuItem As ToolStripMenuItem
Friend WithEvents GEZEXLSXToolStripMenuItem As ToolStripMenuItem
Friend WithEvents MEYLEXLSXToolStripMenuItem As ToolStripMenuItem
End Class End Class

View File

@@ -3,6 +3,8 @@ Imports Tamir
Imports Tamir.SharpSsh Imports Tamir.SharpSsh
Imports Microsoft.Office.Interop Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
Imports javax.xml.bind.annotation
Imports System.Globalization
Public Class usrCntlATLAS_EZA Public Class usrCntlATLAS_EZA
@@ -787,6 +789,38 @@ Public Class usrCntlATLAS_EZA
End Try End Try
Return True Return True
End Function
Private Function checkExcel_Geze(Blatt As Excel.Worksheet) As Boolean
'Prüfung
Try
If Blatt Is Nothing Then Return False
If Blatt.Range("I1") Is Nothing Then Return False
If Blatt.Range("I1").Value.ToString <> "Codenummer" Then Return False
Catch ex As Exception
MsgBox("Fehler bei der Prüfung!" & ex.Message)
Me.Cursor = Cursors.Default
Return False
End Try
Return True
End Function
Private Function checkExcel_MEYLE(Blatt As Excel.Worksheet) As Boolean
'Prüfung
Try
If Blatt Is Nothing Then Return False
If Blatt.Range("A3") Is Nothing Then Return False
If Blatt.Range("A3").Value.ToString <> "Eingangsrechnung Lieferant:" Then Return False
Catch ex As Exception
MsgBox("Fehler bei der Prüfung!" & ex.Message)
Me.Cursor = Cursors.Default
Return False
End Try
Return True
End Function End Function
Private Function importExcel_DynamicAutomotive() As Boolean Private Function importExcel_DynamicAutomotive() As Boolean
@@ -933,6 +967,486 @@ Public Class usrCntlATLAS_EZA
End Function End Function
Private Function importExcel_Geze() As Boolean
Dim fd As New OpenFileDialog
fd.Filter = "Excel Dateien|*.xls;*.xlsx"
Dim result As DialogResult = fd.ShowDialog()
If Not fd.FileName.ToLower.EndsWith(".xls") And Not fd.FileName.ToLower.EndsWith(".xlsx") Then
Me.Cursor = Cursors.Default
Return False
End If
If result = System.Windows.Forms.DialogResult.OK Then
Me.Cursor = Cursors.WaitCursor
Dim exclApp As New Excel.Application 'Object 'as Application
Dim Datei As Excel.Workbook ' 'as WorkBook
Dim Blatt As Excel.Worksheet 'Object 'as WorkSheet
With exclApp
Try
.CutCopyMode = False
.DisplayAlerts = False
Datei = .Workbooks.Open(fd.FileName)
Blatt = Datei.Worksheets(1)
Datei.Activate()
Try
Blatt.ShowAllData() 'Falls Filter ausgewählt wurde
Catch ex As Exception
End Try
Dim startFound As Boolean = False
Dim endFound As Boolean = False
If Not checkExcel_Geze(Blatt) Then 'VALIDIERUNG
Me.Cursor = Cursors.Default
Return False
End If
If EZA.eza_WARENPOS.Count > 0 Then
If vbYes = MsgBox("Sollten die aktuellen Einträge gelöscht werden?", vbYesNo) Then
EZA.eza_WARENPOS.Clear() 'Zurücksetzen
End If
End If
Dim startRows As Integer = 2
Dim endRows As Integer = startRows
While endRows < Blatt.UsedRange.Rows.Count
If Not Blatt.Range("I" & endRows) Is Nothing AndAlso Not Blatt.Range("I" & endRows).Value Is Nothing AndAlso Not Blatt.Range("I" & endRows).Value.ToString.Trim = "" Then
endFound = True
Else
Exit While
End If
endRows += 1
End While
' endRows -= 1
If Not endFound Then
MsgBox("Keine Daten vorhanden!")
Me.Cursor = Cursors.Default
Return False
End If
'Laden des Bereiches aus dem Excel:
Dim myRange As Excel.Range
myRange = Blatt.Range("A" & startRows & ":I" & endRows & "")
Dim myArray As Object(,) '<-- declared as 2D Array
myArray = myRange.Value 'store the content of each cell
'myArray(i_soll2 - startRows + 1, 4)
'For i As Integer = 1 To myArray.GetLength(0)
' For j As Integer = 1 To myArray.GetLength(1)
' Console.Write(myArray(i, j).ToString() & vbTab)
' Next
' Console.WriteLine()
'Next
Dim cnt = 0
Try
For i As Integer = 1 To endRows - startRows + 1 Step 1
If myArray(i, 1) IsNot Nothing AndAlso myArray(i, 1).ToString() <> "" Then
Dim POSITION As New DAKOSY_Worker.cDakosy_EZA_Warenposition
POSITION.ezaWP_WarennummerEZT = myArray(i, 9).ToString()
POSITION.ezaWP_PackstueckAnzahl = "0" 'myArray(i, 6).ToString()
POSITION.ezaWP_PackstueckArt = "PK"
POSITION.ezaWP_Artikelpreis = CDbl(myArray(i, 7).ToString()).ToString("N2")
POSITION.ezaWP_ArtikelpreisWaehrung = myArray(i, 8).ToString()
POSITION.ezaWP_Warenbezeichnung = myArray(i, 4).ToString()
'Select Case myArray(i, 4).ToString
' Case "TURKEY" : POSITION.ezaWP_UrsprungslandCode = "TR"
' Case "ITALY" : POSITION.ezaWP_UrsprungslandCode = "IT"
' Case "SPAIN" : POSITION.ezaWP_UrsprungslandCode = "ES"
' Case "GERMANY" : POSITION.ezaWP_UrsprungslandCode = "DE"
' Case "CZECH REPUBLIC" : POSITION.ezaWP_UrsprungslandCode = "CZ"
' Case "FRANCE" : POSITION.ezaWP_UrsprungslandCode = "FR"
POSITION.ezaWP_PositionsZusatz = "ArtikelNr: " & myArray(i, 1).ToString()
POSITION.ezaWP_Artikelnummer = myArray(i, 1).ToString()
'End Select
POSITION.ezaWP_UNTERLAGEN.Add(New DAKOSY_Worker.cDakosy_EZA_WarenpositionVorgelegteUnterlagen With {
.ezaWpUl_Art = "N380",
.ezaWpUl_Bereich = "4",
.ezaWpUl_VorlageKz = "J",
.ezaWpUl_Nummer = myArray(i, 2).ToString(),
.ezaWpUl_DatumAusstellung = Nothing
})
EZA.eza_WARENPOS.Add(POSITION)
cnt += 1
End If
Next
Catch ex As Exception
MsgBox("Fehler beim Einlesen der Excel-Datei!" & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
Me.Cursor = Cursors.Default
Return False
End Try
.Visible = False
' AddHandler exclApp.WorkbookBeforeClose, AddressOf BeforeBookClose
'Excelobjekte freistellten
' For Each obj In New Object() {exclApp, Datei, Datei, Blatt, Blatt}
' System.Runtime.InteropServices.Marshal.FinalReleaseComObject(obj)
' Next
Datei.Close()
Me.FindForm.SuspendLayout()
POSITIONEN.setValues(EZA, True)
btnPositionen.PerformClick()
MsgBox(cnt & " Datensätze wurden eingelesen. ")
Me.FindForm.ResumeLayout()
Me.Cursor = Cursors.Default
Return True
Catch ex As Exception
'
Me.Cursor = Cursors.Default
MsgBox("FEHLER! Datei im richtigen Format?" & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
' Return False
End Try
End With
Return True
Else
MsgBox("Keine Datei ausgewählt!")
End If
Me.Cursor = Cursors.Default
Return False
End Function
Private Function importExcel_MEYLE() As Boolean
Dim fd As New OpenFileDialog With {
.Filter = "Excel Dateien|*.xls;*.xlsx",
.Multiselect = True,
.Title = "Bitte eine oder mehrere Excel-Dateien auswählen"
}
Dim result As DialogResult = fd.ShowDialog()
If result <> DialogResult.OK Then
Me.Cursor = Cursors.Default
MsgBox("Keine Datei ausgewählt!")
Return False
Else
Dim cnt = 0
If EZA.eza_WARENPOS.Count > 0 Then
If vbYes = MsgBox("Sollten die aktuellen Einträge gelöscht werden?", vbYesNo) Then
EZA.eza_WARENPOS.Clear() 'Zurücksetzen
End If
End If
Me.Cursor = Cursors.WaitCursor
For Each filePath As String In fd.FileNames
If Not filePath.ToLower.EndsWith(".xls") AndAlso Not filePath.ToLower.EndsWith(".xlsx") Then
' Ungültige Datei überspringen oder abbrechen
Continue For
End If
Dim exclApp As New Excel.Application 'Object 'as Application
Dim Datei As Excel.Workbook ' 'as WorkBook
Dim Blatt As Excel.Worksheet 'Object 'as WorkSheet
With exclApp
Try
.CutCopyMode = False
.DisplayAlerts = False
Datei = .Workbooks.Open(fd.FileName)
Blatt = Datei.Worksheets(1)
Datei.Activate()
Try
Blatt.ShowAllData() 'Falls Filter ausgewählt wurde
Catch ex As Exception
End Try
Dim startFound As Boolean = False
Dim endFound As Boolean = False
If Not checkExcel_MEYLE(Blatt) Then 'VALIDIERUNG
Me.Cursor = Cursors.Default
Return False
End If
Dim startRows As Integer = 6
Dim endRows As Integer = startRows
While endRows < Blatt.UsedRange.Rows.Count
If Not Blatt.Range("A" & endRows) Is Nothing AndAlso Not Blatt.Range("A" & endRows).Value Is Nothing AndAlso Not Blatt.Range("A" & endRows).Value.ToString.Trim = "" Then
endFound = True
Else
Exit While
End If
endRows += 1
End While
endRows -= 1
If Not endFound Then
MsgBox("Keine Daten vorhanden!")
Me.Cursor = Cursors.Default
Return False
End If
' Neue DataTable erstellen
Dim DATA As New DataTable()
' Spalten anhand der Anzahl im Range anlegen
Dim colCount As Integer = Blatt.Range("A1:M1").Columns.Count
For c As Integer = 1 To colCount
DATA.Columns.Add("Spalte" & c, GetType(String))
Next
' Range direkt durchlaufen
For r As Integer = startRows To endRows
Dim newRow As DataRow = DATA.NewRow()
For c As Integer = 1 To colCount
Dim value = Blatt.Cells(r, c).Value
newRow(c - 1) = If(value IsNot Nothing, value.ToString(), "")
Next
DATA.Rows.Add(newRow)
Next
' DataTable durchlaufen und Zeilen löschen, bei denen Spalte 6 "summe" enthält
For i As Integer = DATA.Rows.Count - 1 To 0 Step -1
Dim cellValue As String = DATA.Rows(i)(6).ToString().ToLower() ' Spalte 6 = Index 5
If cellValue.Contains("summe") Then
DATA.Rows.RemoveAt(i)
End If
Next
'--------------------------------------------------------------------------------------------------------------
' Spaltenüberschriften ausgeben
For Each col As DataColumn In DATA.Columns
Console.Write(col.ColumnName & vbTab)
Next
Console.WriteLine()
' Alle Zeilen ausgeben
For Each row As DataRow In DATA.Rows
For Each col As DataColumn In DATA.Columns
Console.Write(row(col).ToString() & vbTab)
Next
Console.WriteLine()
Next
'--------------------------------------------------------------------------------------------------------------
'-------------HIER WERDEN DIE Zeilen kommuliert---------------------------------------------------------
'--------------------------------------------------------------------------------------------------------------
' Neue Tabelle mit gleicher Struktur
Dim resultDATA As DataTable = DATA.Clone()
'0 = Wartentarifnummer
'6 = Wartenbeschreibung
'12 = Währung (immer gleich)?
' Gruppieren nach den Schlüsseln Spalte 0, 6 und 12
Dim groups = From row In DATA.AsEnumerable()
Group row By key1 = row(0), key2 = row(6), key3 = row(12) Into grp = Group
Select key1, key2, key3, grp
' Gruppen durchlaufen und kumulierte Zeilen erstellen
For Each g In groups
Dim newRow As DataRow = resultDATA.NewRow()
' Gruppierungsspalten setzen
newRow(0) = g.key1
newRow(6) = g.key2
newRow(12) = g.key3
' Summen berechnen
newRow(7) = g.grp.Sum(Function(r) ToDoubleSafe(r(7)))
newRow(9) = g.grp.Sum(Function(r) ToDoubleSafe(r(9)))
newRow(11) = g.grp.Sum(Function(r) ToDoubleSafe(r(11)))
' Restliche Spalten Nothing lassen (bleibt automatisch so)
resultDATA.Rows.Add(newRow)
Next
' Falls du das Ergebnis in DATA zurückschreiben willst:
DATA = resultDATA
'--------------------------------------------------------------------------------------------------------------
'--------------------------------------------------------------------------------------------------------------
' Spaltenüberschriften ausgeben
For Each col As DataColumn In DATA.Columns
Console.Write(col.ColumnName & vbTab)
Next
Console.WriteLine()
' Alle Zeilen ausgeben
For Each row As DataRow In DATA.Rows
For Each col As DataColumn In DATA.Columns
Console.Write(row(col).ToString() & vbTab)
Next
Console.WriteLine()
Next
'--------------------------------------------------------------------------------------------------------------
Dim HandlesRgNr = ""
If Blatt.Range("B3") IsNot Nothing AndAlso Blatt.Range("B3").Value IsNot Nothing Then
HandlesRgNr = Blatt.Range("B3").Value.ToString().Trim()
End If
Dim HandlesRgDat = ""
If Blatt.Range("B1") IsNot Nothing AndAlso Blatt.Range("B1").Value IsNot Nothing Then
HandlesRgDat = Blatt.Range("B1").Value.ToString().Trim()
End If
' MsgBox("A" & startRows & ":I" & endRows & "")
Try
For Each row As DataRow In DATA.Rows
' Prüfen, ob Spalte 1 (Index 0) gefüllt ist
If row(0) IsNot Nothing AndAlso row(0).ToString().Trim() <> "" Then
Dim POSITION As New DAKOSY_Worker.cDakosy_EZA_Warenposition
POSITION.ezaWP_WarennummerEZT = row(0).ToString()
POSITION.ezaWP_PackstueckAnzahl = "0" ' row(5).ToString()
POSITION.ezaWP_PackstueckArt = "PK"
' Sicher konvertieren, falls leer oder ungültig
Dim preis As Double
Double.TryParse(row(11).ToString(), preis)
POSITION.ezaWP_Artikelpreis = preis.ToString("N2")
POSITION.ezaWP_ArtikelpreisWaehrung = row(12).ToString()
POSITION.ezaWP_Warenbezeichnung = row(6).ToString()
Dim masse As Double
Double.TryParse(row(9).ToString(), masse)
POSITION.ezaWP_Eigenmasse = masse.ToString("N1")
' Ursprungsland ggf. per Select Case setzen
'Select Case row(3).ToString()
' Case "TURKEY" : POSITION.ezaWP_UrsprungslandCode = "TR"
' Case "ITALY" : POSITION.ezaWP_UrsprungslandCode = "IT"
' ...
'End Select
POSITION.ezaWP_UNTERLAGEN.Add(New DAKOSY_Worker.cDakosy_EZA_WarenpositionVorgelegteUnterlagen With {
.ezaWpUl_Art = "N380",
.ezaWpUl_Bereich = "4",
.ezaWpUl_VorlageKz = "J",
.ezaWpUl_Nummer = HandlesRgNr,
.ezaWpUl_DatumAusstellung = Nothing
})
EZA.eza_WARENPOS.Add(POSITION)
cnt += 1
End If
Next
Catch ex As Exception
MsgBox("Fehler beim Einlesen der Excel-Datei!" & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
Me.Cursor = Cursors.Default
Return False
End Try
.Visible = False
' AddHandler exclApp.WorkbookBeforeClose, AddressOf BeforeBookClose
'Excelobjekte freistellten
' For Each obj In New Object() {exclApp, Datei, Datei, Blatt, Blatt}
' System.Runtime.InteropServices.Marshal.FinalReleaseComObject(obj)
' Next
Datei.Close()
Catch ex As Exception
'
Me.Cursor = Cursors.Default
MsgBox("FEHLER! Datei im richtigen Format?" & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
' Return False
End Try
End With
' >>> Hier kannst du jede gültige Excel-Datei weiterverarbeiten:
Console.WriteLine("Verarbeite Datei: " & filePath)
' z.B. Excel öffnen, Range lesen etc.
Next
Me.FindForm.SuspendLayout()
POSITIONEN.setValues(EZA, True)
btnPositionen.PerformClick()
Me.FindForm.ResumeLayout()
MsgBox(cnt & " Datensätze wurden eingelesen. ")
Me.Cursor = Cursors.Default
Return True
End If
Me.Cursor = Cursors.Default
Return False
End Function
Private Function ToDoubleSafe(o As Object) As Double
If o Is Nothing OrElse IsDBNull(o) Then Return 0
' Direkte Numerik
If TypeOf o Is Double Then Return DirectCast(o, Double)
If TypeOf o Is Decimal Then Return Convert.ToDouble(o)
If TypeOf o Is Integer OrElse TypeOf o Is Int64 OrElse TypeOf o Is Int16 Then Return Convert.ToDouble(o)
' String-Fälle (leer, deutsch, englisch)
Dim s = o.ToString().Trim()
If s = "" Then Return 0
Dim v As Double
If Double.TryParse(s, NumberStyles.Any, CultureInfo.CurrentCulture, v) Then Return v
If Double.TryParse(s, NumberStyles.Any, CultureInfo.InvariantCulture, v) Then Return v
Return 0 ' Notfalls 0
End Function
Private Sub pnl_Paint_1(sender As Object, e As PaintEventArgs) Handles pnl.Paint Private Sub pnl_Paint_1(sender As Object, e As PaintEventArgs) Handles pnl.Paint
End Sub End Sub
@@ -963,7 +1477,7 @@ Public Class usrCntlATLAS_EZA
Dim tempFilePath As String = System.IO.Path.GetTempFileName() Dim tempFilePath As String = System.IO.Path.GetTempFileName()
' Ändere die Endung in .xml ' Ändere die Endung in .xml
Dim saveFile As String = System.io.Path.ChangeExtension(tempFilePath, ".xml") Dim saveFile As String = System.IO.Path.ChangeExtension(tempFilePath, ".xml")
@@ -975,5 +1489,13 @@ Public Class usrCntlATLAS_EZA
End If End If
End Sub End Sub
Private Sub GEZEXLSXToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles GEZEXLSXToolStripMenuItem.Click
importExcel_Geze()
End Sub
Private Sub MEYLEXLSXToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MEYLEXLSXToolStripMenuItem.Click
importExcel_MEYLE()
End Sub
End Class End Class