Hallo Andreas!<BR> Ich habe da mal wieder eine Frage!<BR>Also ich würde gerne meine Daten aus der Datenbank ins Dataset holen und von da aus nach Excel exportieren.<BR>Ich bin jetzt bis zu dem Punkt gekommen Excel zu öffnen und einige Einstellungen vorzunehmen.<BR>Leider finde ich nichts für den Export der Daten.<BR>Nur wie man Daten aus Textboxen exportiert.<BR>Kannst du mir da vieleicht weiter helfen?<BR>Eigentlich geht das ja so wie ich das verstanden habe mit den Crystal Reports. Nur die habe ich leider nicht, habe nur die Standartversion von VB.Net.<BR>Ist das denn möglich so wie ich mir das vorstelle?<BR>Kannst du mir nicht einen Tipp geben?<BR>Schon mal vielen Dank im Vorraus!!!!!!<BR>Liebe Grüße Tatjana
Announcement
Collapse
No announcement yet.
Daten des DataSets nach Excel exportieren!
Collapse
X
-
Hallo Tatjana,
im einfachsten Fall greift man auf die Methode <b>WriteXML</b> zurück, um den Inhalt in eine XML-Datei zu schreiben, die dann in EXCEL eingelesen wird, wenn im Datei öffnen-Dialog der Dateityp <b>XML-Dateien (*.xml)</b> ausgewählt wurde. Um den Rest kümmert sich Excel dann selbst :-)
<pre>
Private aDS As DataSet
Dim sCS As String = "data source=localhost;initial catalog=Northwind;integrated security=SSPI"
Dim sSQL As String = "SELECT CustomerID, CompanyName, City FROM Customers"
Private Sub ButtonFill_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonFill.Click
Dim aCon As New SqlConnection(sCS)
Dim aCmd As SqlCommand
Dim aAdp As SqlDataAdapter
aCmd = New SqlCommand(sSQL, aCon)
aAdp = New SqlDataAdapter(aCmd)
aDS = New DataSet()
aAdp.Fill(aDS)
DataGrid1.DataSource = aDS.Tables(0)
End Sub
Private Sub ButtonWriteXML_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonWriteXML.Click
aDS.WriteXml("C:\Temp\Customers.xml")
End Sub
</pre>
Parallel dazu stehen selbstverständlich auch alle "alten" Wege zur Verfügung: <br>
a) Die eigene VB.NET-Anwendung steuert EXCEL über Automation (COM Interop). <br>
b) Die eigene VB.NET-Anwendung greift über die alten ADO-Objekte auf eine MDB-Datenbank als Zwischenpuffer zu, um über die Microsoft JET Engine die Daten in die vielen verfügbaren Exportformate zu konvertieren
-
Danke Andreas!<BR>Das funktioniert schon so ganz gut!<BR>Wie bekommt man es denn dann hin das die Datensätze nicht nur in den Feldern A1, A2 usw. ausgeben werden?<BR>Wäre schön wenn ich die Spalten meines dataGrids denen der Excel-Tabelle zuweisen könnte.<BR>Und könntest du mir vieleicht noch ein bisschen zu den alten Wegen erklären?<BR>Und noch eine kleine frage: Warum hängt man als index an aDS.Tables(0) die 0?<BR>Liebe Grüße!!!!!!!!!
Comment
-
Hallo Andreas!<BR>Ich habs hinbekommen!<BR>Jetzt noch eine andere Frage.<BR>Ich Wie kann ich mit meinem programm gesteuert Daten aus Access nach Exel exportieren????<BR>Also nicht so das die daten erst in meinem Programm auftauchen, sondern einen direkten Befehl.<BR>Quasi wie der normale Export der Daten von Access nach Exel nur das man das von meinem Programm per Button-Click veranlasst!<BR>Wäre super nett wenn du mir da helfen könntest!<BR>Hier habe ich leider überhaupt keinen Ansatz einer Idee!<BR>Vielen Lieben Dank Tatjan
Comment
-
Hallo,
>Wie kann ich mit meinem programm gesteuert Daten aus Access nach Exel exportieren?
das ist ganz einfach - weil die Microsoft JET Engine direkt über SQL die eigenen MDB-Daten in eine XLS-Datei exportieren kann. Das eigene VB.NET-Programm muss als Referenz nur einen Verweis auf die Primary Interop Assembly <b>ADODB</b> hinzufügen, danach kann eine Instanz des Connection-Objekts von ADO angefordert werden:
<pre>
Dim aCon As New ADODB.Connection()
aCon.ConnectionString = sVerbindungszeichenfolge
aCon.Open()
</pre>
Die folgende über die Methode <b>Execute</b> des Connection-Objekts ausgeführte SQL-Anweisung exportiert die ACCESS-Tabelle Customer in die Datei Export.xls:
<pre>
SELECT * INTO Tabelle1 IN "C:\Temp\Export.xls" "Excel 8.0;" FROM Customer
</pre>


Comment
-
Hallo zusammen
in einem 'alten' Beitrag habe ich gelesen, dass mit dem Befehl WriteXml die Daten aus dem Dataset exportiert und mit Excel geöffnet werden können. Das Klappt auch prima.<p>
Wenn ich aber im Excel die Daten anschaue, dann steht auf der ersten Zeile '\NewDataSet' und bei den eigentlichen Daten steht als Spaltentitel immer noch der Tabellenname (z.B Tabname\ColNr).<P>
wie kann ich das verhindern?
oder wie kriege ich sonst die Daten einer DataTable ins Excel (mit korrekten Spaltenbezeichungen)
Gruss
René
Comment
Comment