如何在 C# 中将大型 Excel 文件导出为 CSV ?

在文中,将介绍如何在 C# 中将大型 Excel 文件导出为CSV的问题。

在本主题中,我们将介绍如何在 C# 中将大型 Excel 文件导出为CSV的问题。下面给出的在 C# 应用程序中以编程方式将 Excel 文件转换为 CSV 格式的步骤以及简单易行的代码将为您提供所需的解决方案。

开发人员在处理像XLSX或XLS这样的大型 Excel 文件时面临的主要问题是内存管理。通过将LoadOptions 类的MemorySetting 属性设置为MemoryPreference,可以轻松解决此问题。这将有助于有效地管理内存。此属性的默认值是 Normal,它应该用于常规大小的 Excel 文件。

Aspose.Cells for .NET是Excel电子表格编程API,可加快电子表格的管理和处理任务,支持构建能够生成,修改,转换,呈现和打印电子表格的跨平台应用程序。同时不依赖于Microsoft Excel或任何Microsoft Office Interop组件。你可以下载《Aspose.Cells for .NET开发者指南》获取更多帮助。

在 C# 中将大型 Excel 文件导出为 CSV 的步骤
  1. 使用Aspose.Cells for .NET NuGet 包
  2. 为 Aspose.Cells 命名空间添加 Using 指令
  3. 使用 SetLicense 方法设置 Aspose 许可证
  4. 将MemorySetting属性设置为 MemoryPreference 选项
  5. 创建Workbook Class的实例并传递上一步创建的 LoadOptions 对象
  6. 最后,保存导出的输出CSV文件
将大型 Excel 文件保存为 CSV 格式的 C# 代码
using System;//Add reference to Aspose.Cells for .NET API//Use following namespaces to Export excel file to CSVusing 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:asposelicenselicense.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 CSVusing 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:asposelicenselicense.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# 控制台应用程序,但您可以使用相同的代码在 ASP.NET 中将 Excel 文件导出为 CSV,或者在使用 .NET Framework 的 Windows 应用程序中将 Excel 文件转换为 CSV。这不需要运行代码的系统或服务器上的 Excel 文件。

如果您发现任何其他关于在 C# 中将大型 Excel 文件导出为 CSV的问题,请在Aspose免费支持论坛中提问哦 。
标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月25日
下一篇 2021年6月25日

相关推荐

发表回复

登录后才能评论