In diesem Thema beantworten wir die Frage, wie große Excel-Dateien in C# nach CSV exportiert werden. Die unten angegebenen Schritte zum programmgesteuerten Konvertieren von Excel-Dateien in das CSV-Format in C#-Anwendungen zusammen mit dem einfachen und einfachen Code bieten Ihnen die erforderliche Lösung.
Das Hauptproblem für Entwickler bei der Verarbeitung großer Excel-Dateien wie XLSX oder XLS ist die Speicherverwaltung. Dieses Problem kann leicht gelöst werden, indem MemorySetting property der LoadOptions-Klasse auf MemoryPreference gesetzt wird. Dies hilft, den Speicher effizient zu verwalten. Der Standardwert dieser Eigenschaft ist Normal, was im Fall von Excel-Dateien mit normaler Größe verwendet werden sollte.
Schritte zum Exportieren großer Excel-Dateien in CSV in C#
- Installieren Sie das Aspose.Cells for .NET-Paket von NuGet.org
- Fügen Sie die Using-Direktive für den Aspose.Cells-Namespace hinzu
- Legen Sie die Aspose-Lizenz mit der SetLicense-Methode fest
- Legen Sie die MemorySetting-Eigenschaft auf die MemoryPreference-Option fest
- Erstellen Sie eine Instanz von Workbook Class und übergeben Sie das im vorherigen Schritt erstellte LoadOptions-Objekt
- Speichern Sie abschließend die exportierte CSV-Ausgabedatei
C#-Code zum Speichern großer Excel-Dateien im CSV-Format
using System; | |
//Add reference to Aspose.Cells for .NET API | |
//Use following namespaces to Export excel file to CSV | |
using Aspose.Cells; | |
namespace ExportLargeExcelFiletoCSV | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
//Set Aspose license before exporting Excel file to CSV file format | |
//using Aspose.Cells for .NET | |
Aspose.Cells.License AsposeCellsLicense = new Aspose.Cells.License(); | |
AsposeCellsLicense.SetLicense(@"c:\asposelicense\license.lic"); | |
//For optimized memory usage for large excel file use | |
//MemoryPreference MemorySetting option | |
LoadOptions OptionsLoadingLargeExcelFile = new LoadOptions(); | |
OptionsLoadingLargeExcelFile.MemorySetting = MemorySetting.MemoryPreference; | |
//Create an instance of Workbook class to load input large excel file | |
//Also pass the MemoryPreference load options to the constructor | |
Workbook ExportExcelToCSVWorkBook = new Workbook("Large_Excel_To_Export.xlsx", OptionsLoadingLargeExcelFile); | |
//Save the exported output file as CSV format | |
ExportExcelToCSVWorkBook.Save("Exported_Output_CSV.csv", SaveFormat.Csv); | |
} | |
} | |
} |
Der obige Code speichert nur das erste Blatt in der Excel-Datei als CSV. Wenn Sie jedoch mehrere Blätter in der großen Excel-Datei haben, können Sie das folgende Code-Snippet verwenden. Bitte beachten Sie, dass wir in diesem Fall erneut dieselbe MemorySetting-Eigenschaft verwenden müssen, um den Speicher ordnungsgemäß und effizient zu verwalten.
Exportieren Sie mehrere Excel-Tabellen in separate CSV-Dateien
using System; | |
//Add reference to Aspose.Cells for .NET API | |
//Use following namespaces to Export excel file to CSV | |
using Aspose.Cells; | |
namespace ExportLargeExcelFiletoCSV | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
//Set Aspose license before exporting Excel file to CSV file format | |
//using Aspose.Cells for .NET | |
Aspose.Cells.License AsposeCellsLicense = new Aspose.Cells.License(); | |
AsposeCellsLicense.SetLicense(@"c:\asposelicense\license.lic"); | |
//For optimized memory usage for large excel file use | |
//MemoryPreference MemorySetting option | |
LoadOptions OptionsLoadingLargeExcelFile = new LoadOptions(); | |
OptionsLoadingLargeExcelFile.MemorySetting = MemorySetting.MemoryPreference; | |
//Create an instance of Workbook class to load input large excel file | |
//Also pass the MemoryPreference load options to the constructor | |
Workbook ExportExcelToCSVWorkBook = new Workbook("Large_Excel_To_Export.xlsx", OptionsLoadingLargeExcelFile); | |
//To save multiple sheets in a workbook use following code | |
for (int SheetIndex = 0; SheetIndex < ExportExcelToCSVWorkBook.Worksheets.Count; SheetIndex++) | |
{ | |
ExportExcelToCSVWorkBook.Worksheets.ActiveSheetIndex = SheetIndex; | |
ExportExcelToCSVWorkBook.Save("Exported_CSV_" + SheetIndex + ".csv", SaveFormat.Csv); | |
} | |
} | |
} | |
} |
Im obigen Code haben wir die C#-Konsolenanwendung verwendet, aber Sie können denselben Code verwenden, um Excel-Dateien in CSV in ASP.NET zu exportieren oder Excel file format in Windows-Anwendungen mit .NET Framework in CSV zu konvertieren. Dies erfordert keine Excel-Datei auf dem System oder Server, auf dem Ihr Code ausgeführt wird.