VB.Net-Forum - Beitragsübersicht -
ThemaV03: Speichern, schließen Excel
Von vb.NET
Datum 01. September 2016 um 17:40:27
Frage Hallo,

ich habe ein Code, mit dem ich beim Starten der App Daten aus einer Excel DAtei in ein DataGridView übertrage.
Dazu muss die Datei aber leider geöffnet sein. Ich öffne sie mit Process.Start.

Wie speichere und schließe ich sie wieder?

Habe das hier versucht, mit der Meldung - unzulässig:


'Dim processId As IntPtr
'Dim excelProcess As Process = Process.GetProcessById(processId.ToInt32())
'excelProcess.Kill()

'Dim owrite As New Microsoft.Office.Interop.Excel.Workbook

'owrite.SaveAs("E:\ConnectionExcel\ExcelBinding\Test.csv")

Hab auch versucht xlApp und Workbook zu deklarieren um zum schluss zu sagen myWorkbook Save() und myWorkbook.Close(), bekomme aber gleich eine Fehlermeldung in der Zeile:
'Dim xlApp As Object = CreateObject("Microsoft.Office.Interop.Excel.Application")

Hier mein Code:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load


'Dim xlApp As Object = CreateObject("Excel.Application")
''xlApp.Visible = False
'Dim myWorkbook As Object = xlApp.Workbooks.Open("E:\ConnectionExcel\ExcelBinding\Nombre.xlsx")

Process.Start("E:\ConnectionExcel\ExcelBinding\Test.csv")

Dim MyConnection As System.Data.OleDb.OleDbConnection
Dim DtSet As System.Data.DataSet
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='E:\ConnectionExcel\ExcelBinding\Test.csv';Extended Properties=Excel 8.0;")
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Test$]", MyConnection)
MyCommand.TableMappings.Add("Table", "Net-informations.com")
DtSet = New System.Data.DataSet
MyCommand.Fill(DtSet)
dgvCityDetails.DataSource = DtSet.Tables(0)
MyConnection.Close()

End Sub

Danke euch!
Antwort:
Von Nico
E-Mail nico.schertler@studentpartners.de
Datum 01. September 2016 um 17:54:11
Antwort Hallo,

in deinem Code sind drei verschiedene Ansätze. Der erste über CreateObject und Workbook.Open(). Damit scheinst du nichts mehr zu machen. Der zweite über Process.Start(). Dessen Sinn erschließt sich mir nicht ganz. Und der letzte über ADO.Net. Für letzteren Fall sollte es möglich sein, über ein SQL Query (INSERT INTO Tabelle ...) Daten hinzuzufügen. Ich bin mir aber nicht sicher, ob das mit CSV-Dateien funktioniert oder nur mit XLS Dateien. Weitere Informationen hier.
Aber bist du dir sicher, dass du Excel als Datenspeicher verwenden willst? Sofern die Datenhaltung keinen externen Anforderungen genügen muss, ist es die vermutlich schlechteste Idee, Excel als Datenbank zu verwenden. Das Lesen und Schreiben von CSV-Dateien ist ohne Excel wahrscheinlich einfacher und schneller.

Nico
[ Antwort schreiben | Zurück zum VB.Net-Forum | Forum-Hilfe ]
Antworten
V03: Speichern, schließen Excel - vb.NET 01. September 2016 um 17:40:27
Re: Speichern, schließen Excel - Nico 01. September 2016 um 17:54:11
Re: Speichern, schließen Excel - vb.NET 01. September 2016 um 18:44:03
Re: Speichern, schließen Excel - Nico 01. September 2016 um 19:06:33

Ihre Antwort
(Nick-)Name   Wichtige Informationen zur Namensangabe
E-Mail (opt.)  Wichtige Informationen zur Angabe einer eMail-Adresse
Thema   Wichtige Informationen zur Angabe eines Themas
Betrifft (IDE)  VB.Net 2003
Ihre Antwort
Smilies
Mehr...
FettKursivUnterstrichen   Übersicht der Tipp-KürzelÜbersicht der Projekt-KürzelÜbersicht der Bücher-Kürzel 
Homepage
Titel
Root-Smilies              
             
             
[ Zurück zum VB.Net-Forum | Forum-Archiv | Forum-Hilfe | Chat ]

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB.Net | VB/VBA-Forum | DirectX | DirectX-Forum | Chat | Ausschreibungen | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 13. Dezember 2015