I det här ämnet kommer vi att svara på frågan hur man exporterar en stor Excel-fil till CSV i C#. Stegen för att konvertera Excel-fil till CSV-format programmatiskt i C#-applikationer som anges nedan tillsammans med den enkla och lätta koden kommer att ge dig den nödvändiga lösningen.
Det största problemet som utvecklare möter när de bearbetar stora Excel-filer som XLSX eller XLS är minneshantering. Det här problemet kan enkelt lösas genom att ställa in MemorySetting property i klassen LoadOptions till MemoryPreference. Detta kommer att hjälpa till att hantera minnet effektivt. Standardvärdet för den här egenskapen är Normal, vilket bör användas för Excel-filer av normal storlek.
Steg för att exportera stor Excel-fil till CSV i C#
- Installera paketet Aspose.Cells for .NET från NuGet.org
- Lägg till Använda direktiv för Aspose.Cells namnutrymme
- Ställ in Aspose-licens med SetLicense-metoden
- Ställ in egenskapen MemorySetting till alternativet MemoryPreference
- Skapa en instans av Workbook Class och skicka LoadOptions-objektet som skapades i föregående steg
- Spara slutligen den exporterade CSV-filen
C#-kod för att spara stor Excel-fil som 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); | |
} | |
} | |
} |
Ovanstående kod sparar endast det första arket i Excel-filen som CSV. Men om du har flera ark i den stora excel-filen kan du använda följande kodavsnitt. Observera att i det här fallet måste vi återigen använda samma MemorySetting-egenskap för att korrekt och effektivt hantera minnet.
Exportera flera Excel-ark till separata CSV-filer
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); | |
} | |
} | |
} | |
} |
I ovanstående kod använde vi C# Console Application, men du kan använda samma kod för att exportera Excel-fil till CSV i ASP.NET eller konvertera Excel file format till CSV i Windows-program med .NET Framework. Detta kräver ingen Excel-fil på systemet eller servern där din kod körs.