Ich muss eine Methode erstellen, die Modell erhalten wird, bauen Excel daraus (Gebäude und Empfangsteil ist ohne Probleme erledigt) und exportieren Sie dann (lassen Sie Benutzer es herunterladen) mit Speicher Stream (ohne es auf dem Server zu speichern). Ich bin neu in ASP.NET MVC und so fand ich Führer und dies als Tutorial-Projekt gebaut:C# Asp.NET MVC herunterladen Excel-Datei mit FileStreamResult
public FileResult Download()
{
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
xlWorkSheet.Cells[1, 1] = "ID";
xlWorkSheet.Cells[1, 2] = "Name";
xlWorkSheet.Cells[2, 1] = "1";
xlWorkSheet.Cells[2, 2] = "One";
xlWorkSheet.Cells[3, 1] = "2";
xlWorkSheet.Cells[3, 2] = "Two";
var path = "C:\\Work-Work\\TestFolder\\XCLbuildTry1\\csharp-Excel.xls";
xlWorkBook.SaveAs(path);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
Marshal.ReleaseComObject(xlWorkSheet);
Marshal.ReleaseComObject(xlWorkBook);
Marshal.ReleaseComObject(xlApp);
return File(path, "application/vnd.ms-excel", "WidgetData.xlsx");
}
Jetzt muß ich diesen Code ändern, diese Methode ohne speichern meine Excel-Datei auf dem Server meine Excel zu machen Datei gesendet . Ich habe versucht, einige Anleitungen und Antworten hier zu googeln, auf Stack, aber für den Moment kann ich keine Lösung finden, die ich implementieren kann.
Ich denke, ich sollte FileStreamResult
verwenden, aber alle Anleitungen geben keine bestimmten Informationen zum Erstellen und Einfügen meiner Datei in Stream.
Sieht aus wie wird es funktionieren, aber mein 'worksheet' von 'read-only' -Modus ist gesperrt. Ich habe einige Lösungen auf Stapel versucht: http://stackoverflow.com/questions/20751808/make-column-or-cells-readonly-with-epplus -> gibt überhaupt kein Ergebnis, aber keine Warnungen http: //stackoverflow.com/questions/19999531/how-to-create-readonly-excel-sheet-using-c-sharp-net -> Gibt Warnung 'Keine Definition' http://stackoverflow.com/questions/18059979/creating-an-excel-Datei-mit-epplus-aber-es-ist-immer-nur-lesen -> Ich habe keine Ahnung, wie Browser VS Warnungen auf meinem Code (letzte Antwort) geben kann – rainbowShiningUnicorn
@rainbowShiningUnicorn Ist die Blatt schreibgeschützt oder wird die gesamte Arbeitsmappe nur beim Speichern gelesen? – Chawin
Eigenschaft 'Zellen' haben nur' get' Methode. – rainbowShiningUnicorn