vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
XLSX lesen ja, schreiben nein... 
Autor: Tommi467
Datum: 26.02.14 11:39

Hallo zusammen,

ich habe hier ein Tool, das auf XLS-Dateien zugreift, die von anderen Programmen generiert werden.
Die Daten werden in ein Gridview geladen und können nach einer Änderung auch gespeichert werden.
Soweit alles ok.

Jetzt kommt es aber vor, das Dateien von Sachbearbeitern nachbearbeitet/überarbeitet werden und dann im XLSX-Format abgespeichert werden.

Um diese XLSX-Dateien zu laden (habe ich inzwischen nachgelesen), muss die Connection geändert werden.
Ich überprüfe deshalb den ausgewählten Dateinamen ob xls oder xlsx und richte Connection dann entweder

CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & XLS_Datei & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=0"""

oder

CnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & XLS_Datei & ";Extended Properties=Excel 12.0;Mode=Share Deny Write;"

ein.
Soweit alles ok. Funktioniert prima!.

Problem entsteht jetzt beim speichern.
Die evtl. Änderungen im Gridview müssen in der BESTEHENDEN Datei übernommen werden.
Bedingung ist, dass ich NICHT auf das jeweils installierte Office aufsetzen kann, da die verwendeten Versionen unterschiedlich sind (2000 - 2010).

Hier im Forum bekam ich dann den Tipp die unten gelistete Funktion zu nutzen. Die funktioniert auch einwandfrei. Aber jetzt leider eben nicht mehr für XLSX.

Was kann ich tun? Wie kann ich eine vorhandene XLSX mit Daten aus einem Gridview aktualisieren?

Bin für jeden nützlichen Tipp dankbar.
Gruß Tommi

Sub Excel_Daten_speichern(ByVal TabellenName As String)
 
        Dim WhereFilter As String = "WHERE "
        Dim SetField As String = "SET "
        Dim UpdateString As String = "UPDATE [" & TabellenName & "$] "
        Dim Merker1 As String = ""
        Dim Merker2 As String = ""
 
 
        SetField = Replace(SetField, "SET ,", "SET ")
        UpdateString = UpdateString & SetField & WhereFilter
 
 
        Try
            If objAdapter.UpdateCommand Is Nothing Then
                Dim objCommand As New OleDb.OleDbCommand(UpdateString, _
                  objConnection)
 
                For I = 0 To DataGridView1.Columns.Count - 1
                            objCommand.Parameters.Add(DataGridView1.Columns( _
                              I).Name, OleDbType.Char, 255).SourceColumn = _
                              DataGridView1.Columns(I).Name
                Next
 
                objAdapter.UpdateCommand = objCommand
 
            End If
            objAdapter.Update(objDataSet)
 
        Catch ex As Exception
            MsgBox(ex.ToString())
        End Try
 
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
XLSX lesen ja, schreiben nein...2.668Tommi46726.02.14 11:39
Re: XLSX lesen ja, schreiben nein...1.870ModeratorFZelle26.02.14 12:55
Re: XLSX lesen ja, schreiben nein...1.880Tommi46726.02.14 13:19
Re: XLSX lesen ja, schreiben nein...1.904ModeratorFZelle27.02.14 10:36
Re: XLSX lesen ja, schreiben nein...2.069Tommi46727.02.14 12:02
Re: XLSX lesen ja, schreiben nein...1.917Franki28.02.14 00:43
Re: XLSX lesen ja, schreiben nein...1.859Tommi46728.02.14 06:57
Re: XLSX lesen ja, schreiben nein...2.028Christoph197228.02.14 07:03
Re: XLSX lesen ja, schreiben nein...1.856Tommi46728.02.14 10:39
Re: XLSX lesen ja, schreiben nein...1.830Christoph197228.02.14 16:45
Re: XLSX lesen ja, schreiben nein...1.816ModeratorFZelle28.02.14 09:24
Re: XLSX lesen ja, schreiben nein...1.993Tommi46728.02.14 09:48
Re: XLSX lesen ja, schreiben nein...1.851ModeratorFZelle28.02.14 19:32

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel