2016-06-17 7 views
1

Kennt jemand ein einfaches NuGet-Paket oder eine andere Möglichkeit, Daten von der Datenbank nach Excel zu exportieren? Ich habe ein paar Tabellen und jede möchte ich in ein anderes Arbeitsblatt exportieren, aber in dieselbe Excel-Datei.Wie exportiert man Daten aus der Datenbank in Excel-Tabellen mit ASP.NET MVC?

Auch später möchte ich Daten aus der Datei Excel in die Datenbank importieren. Für beide Operationen können verschiedene Bibliothek sein.

Ich habe schon versucht this Aber es funktioniert nicht.


@EDIT - gelöst

Hier sind einige nützliche Links. Ich hoffe, dass ein Tag würde jemand helfen :)

http://epplus.codeplex.com/

http://techbrij.com/export-excel-xls-xlsx-asp-net-npoi-epplus

+0

Traurig zu sehen, Abstimmung über diese Frage, das ist eine gültige Frage. Lassen Sie mich abstimmen, damit es anderen in Zukunft hilft. –

+0

@AbhimanyuKumarVatsa, Dies ist keine gültige Frage. Es ist off-topic für SO und ich schlage vor, dass Sie die Hilfedateien lesen, um zu verstehen, was hier akzeptabel ist. –

+0

@StephenMuecke Ich sehe zwei Fragen, aber nicht außerhalb des Themas. Ich finde, wir sollten Neulinge Post nicht nur nach unten abstimmen. Oder füge einen Kommentar hinzu, um ihm die Möglichkeit zum Bearbeiten zu geben. Ich denke immer noch, ein echter Community-Typ schlägt vor, nicht zu ignorieren. –

Antwort

1

Dieser Kodex von EPPlus erhalten und auch hilfreich für Ihre Frage ::

private void ExcelExport(DataTable table) 
     { 
      using (ExcelPackage packge = new ExcelPackage()) 
      { 
       //Create the worksheet 
       ExcelWorksheet ws = packge.Workbook.Worksheets.Add("Demo"); 

       //Load the datatable into the sheet, starting from cell A1. Print the column names on row 1 
       ws.Cells["A1"].LoadFromDataTable(table, true); 

       //Format the header for column 1-3 
       using (ExcelRange range = ws.Cells["A1:C1"]) 
       { 
        range.Style.Font.Bold = true; 
        range.Style.Fill.PatternType = ExcelFillStyle.Solid;      //Set Pattern for the background to Solid 
        range.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(79, 129, 189)); //Set color to dark blue 
        range.Style.Font.Color.SetColor(Color.White); 
       } 

       //Example how to Format Column 1 as numeric 
       using (ExcelRange col = ws.Cells[2, 1, 2 + table.Rows.Count, 1]) 
       { 
        col.Style.Numberformat.Format = "#,##0.00"; 
        col.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right; 
       } 

       //Write it back to the client 
       Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 
       Response.AddHeader("content-disposition", "attachment; filename=ExcelExport.xlsx"); 
       Response.BinaryWrite(packge.GetAsByteArray()); 
      } 
     } 
+1

Verbinden Sie nicht mit externen Ressourcen, sondern geben Sie den Code/die Antwort hier ein. Externe Links sterben oft. –

+0

Ich fand diese Lib nur ein paar Sekunden vor dir. Allerdings werde ich als Antwort deinen Beitrag markieren. Wegen der netten Erklärung des Codes. Übrigens.du hast vergessen zu schreiben - das ist 'EPPlus' lib. Also editiere deine Antwort :) – DiPix

0

Es gibt mehrere Möglichkeiten, wie bezahlt, Lösungen frei oder Client-Seite Konvertierungslösung, serverseitige Konvertierung.

Sie müssen eine Entscheidung treffen, wenn Sie nur excel Client-Seite exportieren möchten, ohne den Server zu beeinträchtigen. Hier ist Demo (Lauf) Lösung für Sie.

http://www.itorian.com/2015/05/export-table-data-into-excel-file.html

Klicken Sie auf Ergebnis Reiter an und dann auf die Schaltfläche „Exportieren von Tabellendaten in Excel“. Markieren Sie dies als Antwort, wenn dies hilft.

bearbeiten

Wie Sie erwähnt haben, müssen Sie Tabellen in verschiedene Excel-Seiten (aber in derselben Datei) exportieren, wird diese http://www.aspsnippets.com/Articles/Export-DataSet-DataTables-to-multiple-Excel-Sheets-Worksheets-in-ASPNet-using-C-and-VBNet.aspx für Sie arbeiten

+0

Wie gesagt, ich brauche Daten aus der Datenbank nicht aus der Sicht (DOM). Und ich bevorzuge freie Wahl. – DiPix

+0

ja das ist auch einfach, gehen Sie einfach durch diesen Beitrag und versuchen Sie Demo, bevor Sie in Code schauen http://www.aspsnippets.com/Articles/Export-DataSet-DataTables-to-multiple-Excel-Sheets-Worksheets-in- ASPNet-using-C-and-VBNet.aspx –

Verwandte Themen