Как экспортировать большой файл Excel в CSV на C#

В этом разделе мы ответим на вопрос, как экспортировать большой файл Excel в CSV на C#. Шаги по программному преобразованию файла Excel в формат CSV в приложениях C#, приведенные ниже, вместе с простым и легким кодом предоставят вам необходимое решение.

Основная проблема, с которой сталкиваются разработчики при обработке больших файлов Excel, таких как XLSX или XLS, — управление памятью. Эту проблему можно легко решить, установив для MemorySetting property класса LoadOptions значение MemoryPreference. Это поможет эффективно управлять памятью. Значение по умолчанию для этого свойства — «Обычный», которое следует использовать в случае файлов Excel обычного размера.

Действия по экспорту большого файла Excel в CSV на С#

  1. Установите пакет Aspose.Cells for .NET с сайта NuGet.org.
  2. Добавить директиву Using для пространства имен Aspose.Cells
  3. Установите лицензию Aspose с помощью метода SetLicense
  4. Задайте для свойства MemorySetting значение параметра MemoryPreference.
  5. Создайте экземпляр Workbook Class и передайте объект LoadOptions, созданный на предыдущем шаге.
  6. Наконец, сохраните экспортированный выходной CSV-файл.

Код С# для сохранения большого файла Excel в формате CSV

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);
}
}
}

Приведенный выше код сохраняет только первый лист в файле Excel в формате CSV. Однако, если у вас есть несколько листов в большом файле Excel, вы можете использовать следующий фрагмент кода. Обратите внимание, в этом случае нам снова нужно использовать то же свойство MemorySetting, чтобы правильно и эффективно управлять памятью.

Экспорт нескольких листов Excel в отдельные файлы CSV

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);
}
}
}
}

В приведенном выше коде мы использовали консольное приложение C#, но вы можете использовать тот же код для экспорта файла Excel в CSV в ASP.NET или преобразования Excel file format в CSV в приложениях Windows с .NET Framework. Для этого не требуется файл Excel в системе или на сервере, где выполняется ваш код.

 Русский