在文中,将介绍如何在 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 的步骤
- 使用Aspose.Cells for .NET NuGet 包
- 为 Aspose.Cells 命名空间添加 Using 指令
- 使用 SetLicense 方法设置 Aspose 许可证
- 将MemorySetting属性设置为 MemoryPreference 选项
- 创建Workbook Class的实例并传递上一步创建的 LoadOptions 对象
- 最后,保存导出的输出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进行处理,非常感谢!