このトピックでは、C#で大きなExcelファイルをCSVにエクスポートする方法についての質問に答えます。以下に示すC#アプリケーションでExcelファイルをプログラムでCSV形式に変換する手順と、シンプルで簡単なコードにより、必要なソリューションが提供されます。
XLSXやXLSのような大きなExcelファイルを処理するときに開発者が直面する主な問題は、メモリ管理です。この問題は、LoadOptionsクラスのMemorySetting propertyをMemoryPreferenceに設定することで簡単に解決できます。これは、メモリを効率的に管理するのに役立ちます。このプロパティのデフォルト値はNormalで、通常のサイズのExcelファイルの場合に使用する必要があります。
大きなExcelファイルをC#でCSVにエクスポートする手順
- NuGet.orgからAspose.Cells for .NETパッケージをインストールします
- Aspose.Cells名前空間のUsingディレクティブを追加
- SetLicenseメソッドを使用してAsposeライセンスを設定します
- MemorySettingプロパティをMemoryPreferenceオプションに設定します
- Workbook Classのインスタンスを作成し、前の手順で作成したLoadOptionsオブジェクトを渡します
- 最後に、エクスポートされた出力CSVファイルを保存します
大きなExcelファイルをCSV形式で保存するC#コード
上記のコードは、Excelファイルの最初のシートのみをCSVとして保存します。ただし、大きなExcelファイルに複数のシートがある場合は、次のコードスニペットを使用できます。この場合も、メモリを適切かつ効率的に管理するために、同じMemorySettingプロパティを使用する必要があることに注意してください。
複数のExcelシートを個別のCSVファイルにエクスポート
上記のコードでは、C#コンソールアプリケーションを使用しましたが、同じコードを使用して、ASP.NETでExcelファイルをCSVにエクスポートしたり、.NETFrameworkを使用したWindowsアプリケーションでExcel file formatをCSVに変換したりできます。これには、コードが実行されているシステムまたはサーバー上のExcelファイルは必要ありません。