Gewusst wie: Exportieren von Daten nach Excel mithilfe von LINQ to Entity?
Habe ich die Daten aus Entity Data model auf meinem Tisch ASP.NET Seite.
Nun muss ich diese Daten exportieren in Excel auf die Schaltfläche klicken.
Wenn es mithilfe von OLEDB, es ist geradlinig, wie es hier ist: http://csharp.net-informations.com/excel/csharp-excel-oledb-insert.htm
Hier ist meine Funktion zum Lesen von Daten aus Anfragen Tabelle:
var model = from i in myEntity.Inquiries
where i.User_Id == 5
orderby i.TX_Id descending
select new {
RequestID = i.TX_Id,
CustomerName = i.CustomerMaster.FirstName,
RequestDate = i.RequestDate,
Email = i.CustomerMaster.MS_Id,
DocDescription = i.Document.Description,
ProductName = i.Product.Name
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann man noch einfügen in die Excel-Tabelle mit der gleichen Technik, wie identifiziert in dem verlinkten Artikel.
Verwenden Sie einfach die folgende Pseudo-code
Können Sie schreiben Sie einfach eine string-Darstellung Ihrer Daten - Registerkarte mit Trennzeichen für die einzelnen Felder und \r\n getrennt für jede Zeile. Dann Strom, dass sich der browser wie ein .csv-Datei, die automatisch in Excel geöffnet.
Könnte man reflektion verwenden, um eine Liste der Eigenschaften, verwenden Sie dann die Liste der Eigenschaften (und Reflexion), stecken Sie das Ergebnis Ihrer Abfrage in eine alte ADO.Net DataTable. DataTable hat WriteXML, die verwendet werden können, zu speichern, eine temporäre XML-Datei im temp-Ordner (mit System.IO). Dann nutzen Sie einfach OpenXML in die Excel-Anwendung.
Habe ich code-Beispiele an http://social.msdn.microsoft.com/Forums/en-US/whatforum/thread/69869649-a238-4af9-8059-55499b50dd57 wenn Sie möchten, um zu versuchen, diesen Ansatz. IMO scheint es die Schnellste (zumindest viel schneller als zu schreiben versucht, direkt nach Excel), einfachste(zumindest, viel einfacher als zu versuchen, zu konvertieren Sie Ihre Abfrage, um einige XML-format auf Ihre eigenen), und die meisten wiederverwendbare Methode (plus-code-Beispiel wir sind zu spät-die Bindung, damit Sie sich entwickeln kann, gegen die gemischten Umgebung vorausgesetzt, mindestens Excel 2003).
Wie bereits erwähnt, ist der einfachste Weg, um Daten zu exportieren, um excel zu generieren, text-oder xml-Darstellung. Wie für mich, ich lieber mit SpreadSheetML und T4 text Template-engine für die Datei-Generierung. Sie können einen Blick auf Probe T4-Datei hier: http://lilium.codeplex.com/SourceControl/changeset/view/40985#803959.
Wenn Sie sich entscheiden, T4 bitte beachten Sie, dass T4 ist das Teil von MS Visual Studio und man KANN NICHT verteilen Sie es separat. Das problem kann gelöst werden durch die Installation der Visual Studio Express Edition auf der Ziel-Maschine.
Alternativ können Sie über build-in-aspx templating-engine, verwendet für aspx-view-Klassen-generation. Werfen Sie einen Blick, wie es hier getan [Hoppla, ist es nicht lassen Sie mich mehr posten von hyperlinks, wenn Sie noch interessiert sind, lassen Sie mich wissen,] (Hinweis: dies ist eine real-world-Anwendung, so dass der code ziemlich groß und schmutzig). Aspx engine behandelt Style-tag auf seine eigene Weise, so müssen Sie den vollqualifizierten Namen, um es bei der Arbeit, die automatische Formatierungen, die innerhalb von Visual Studio wird auch nicht funktionieren, richtig.
Können Sie in Erwägung ziehen, die SpreadSheetML, im Grunde ist eine XML-Datei mit einem Cocoon-process-oben, die xml-Datei zum starten der excel-Anwendung Doppelklick auf die xml-Datei. Beispiel für SpreadSheetML bereitgestellt, wie unten beschrieben.
Hoffe, das hilft.
Können Sie die open-source-NPOI-Bibliothek zu schreiben, excel, doc, powerpoint, etc
Der einfache Weg ist, zu binden, ein raster anzeigen und exportieren, siehe http://aspalliance.com/771 (erste esample finden mit google)