Ich habe die Daten aus der Entity Data-Modell-Tabelle auf meiner ASP.NET-Seite. Jetzt muss ich diese Daten per Knopfdruck in Excel exportieren.
Wenn es OLEDB verwendet, ist es so einfach wie hier: Ссылка
Hier ist meine Funktion zum Lesen von Daten aus der Abfragetabelle:
%Vor%Sie können einfach eine Zeichenfolgendarstellung Ihrer Daten schreiben - Tabulator für jedes Feld und \ r \ n für jede Zeile getrennt. Dann streamen Sie den Browser als CSV-Datei, die automatisch in Excel geöffnet wird.
Sie können Reflektion verwenden, um eine Liste von Eigenschaften abzurufen, und dann diese Liste von Eigenschaften (und Reflektionen) verwenden, um das Ergebnis Ihrer Abfrage in eine alte ADO.Net DataTable zu stopfen. DataTable verfügt über WriteXML, mit dem eine temporäre XML-Datei im Ordner temp (unter Verwendung von System.IO) gespeichert werden kann. Dann verwenden Sie einfach OpenXML in der Excel-Anwendung.
Ich habe Codebeispiele bei Ссылка wenn Sie diesen Ansatz ausprobieren möchten. IMO scheint dies die schnellste (zumindest viel schneller als der Versuch, direkt nach Excel schreiben), einfachste (zumindest viel einfacher als versuchen, Ihre Abfrage in ein eigenes XML-Format zu konvertieren), und die meisten wiederverwendbaren Methode (Plus im Codebeispiel sind wir späte Bindung, so dass Sie gegen gemischte Umgebung entwickeln können, vorausgesetzt, mindestens Excel 2003).
Wie bereits erwähnt, ist der einfachste Weg, Daten in Excel zu exportieren, die Generierung von Text oder XML-Präsentationen. Für mich bevorzuge ich SpreadSheetML und T4 Text Templating-Engine für die Dateierzeugung. Sie können sich die T4-Beispieldatei hier ansehen: Ссылка .
Wenn Sie sich für die Verwendung von T4 entscheiden, denken Sie daran, dass T4 der Teil von MS Visual Studio ist und Sie ihn NICHT separat verteilen dürfen. Das Problem kann durch Installieren von Visual Studio Express Edition auf dem Zielcomputer gelöst werden.
Alternativ können Sie die Build-in-Aspx-Templating-Engine verwenden, die für die Generierung von aspx view-Klassen verwendet wird. Schau mal, wie es hier gemacht wird [ups, es ist mir nicht erlaubt, mehr Hyperlinks zu posten, wenn du noch interessiert bist, lass es mich wissen] (beachte, dass dies eine echte Anwendung ist, also Code ziemlich groß und schmutzig). Die Aspx-Engine handhabt das Style-Tag auf seine eigene Art und Weise, daher müssen Sie einen qualifizierten Namen verwenden, damit es funktioniert. Auch die automatische Formatierung in Visual Studio funktioniert nicht richtig.
Sie können die Verwendung von SpreadSheetML in Erwägung ziehen, im Grunde eine XML-Datei mit einem Cocoon-Prozess, der über der XML-Datei erwähnt wird, um die Excel-Anwendung durch Doppelklicken auf die XML-Datei zu starten. Beispiel für SpreadSheetML wie unten bereitgestellt.
%Vor%Hoffe, das hilft.
Der einfachste Weg ist, eine Gitteransicht zu binden und zu exportieren, siehe Ссылка (erstes Beispiel mit Google finden)
Tags und Links c# asp.net excel linq-to-entities export-to-excel