Excel と CSV(カンマ区切り値)は、様々な表形式のデータを管理および保存するためによく使われる2つのファイル形式です。Excel はデータを行と列で組織化し、データ操作、分析、可視化など豊富な機能をユーザーに提供します。一方、CSV はデータを軽量で多様なアプリケーションと高い互換性を持つプレーンテキスト形式で保存されます。Excel を CSV に変換することで、ユーザーは異なるプログラム間で Excel データを交換したりインポートしたりすることができます。CSV を Excel に変換することで、ユーザーはグラフの作成や公式の適用など、より高度なデータ分析機能を利用することができます。この記事では、Spire.XLS for C++ を使用して C++ で Excel を CSV におよび CSV を Excel に変換する方法について説明します。 Excel を CSV に変換する Excel の表示されるデータを CSV に変換する CSV を Excel に変換する Spire.XLS for C++ をインストールします Spire.XLS for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。 Spire.XLS for C++ を C++ アプリケーションに統合する方法 Excel を CSV に変換する Spire.XLS for C++ は、Excel ファイル内のシートを CSV に変換する XlsWorksheet->SaveToFile (LPCWSTR_S fileName, LPCWSTR_S separator, Spire::Common::Encoding* encoding) メソッドを提供します。詳細な手順は次のとおりです。 Workbook クラスのインスタンスを初期化します。 Workbook->LoadFromFile() メソッドを使用して Excel ファイルをロードします。 Workbook->GetWorksheets()->Get(int index) メソッドを使用して、ワークブック内の特定のシートをインデックスで取得します。 XlsWorksheet->SaveToFile (LPCWSTR_S fileName, LPCWSTR_S separator, Spire::Common::Encoding* encoding) メソッドを使用して、ワークシートを CSV ファイルに保存します。 C++ #include "Spire.Xls.o.h"; using namespace Spire::Xls; int main() { //Workbookクラスのインスタンスを初期化する Workbook* workbook = new Workbook(); //Excelファイルをロードする workbook->LoadFromFile(L"Input.xlsx"); //最初のシートを取得する Worksheet* sheet = workbook->GetWorksheets()->Get(0); //シートをCSVファイルに保存する sheet->SaveToFile(L"ExcelToCsv.csv", L",", Encoding::GetUTF8()); workbook->Dispose(); delete workbook; } Excel の表示されるデータをCSV に変換する 上記のコードを使用して Excel ワークシートを CSV に変換する場合、表示データと非表示データが CSV として保存されます。表示データのみを保存する場合は、XlsWorksheet->SaveToFile (LPCWSTR_S fileName, LPCWSTR_S separator, bool retainHiddenData) メソッドを使用してください。詳細な手順は次のとおりです。 Workbook クラスのインスタンスを初期化します。 Workbook->LoadFromFile() メソッドを使用して Excel ファイルをロードします。 Workbook->GetWorksheets()->Get(int index) メソッドを使用して、ワークブック内の特定のシートをインデックスで取得します。 XlsWorksheet->SaveToFile (LPCWSTR_S fileName, LPCWSTR_S separator, bool retainHiddenData) メソッドを使用して、シート内の表示されるデータを CSV ファイルに保存します。 C++ #include "Spire.Xls.o.h"; using namespace Spire::Xls; int main() { //Workbookクラスのインスタンスを初期化する Workbook* workbook = new Workbook(); //Excelファイルをロードする workbook->LoadFromFile(L"Input.xlsx"); //最初のシートを取得する Worksheet* sheet = workbook->GetWorksheets()->Get(0); //シートの表示されるデータをCSVファイルに保存する sheet->SaveToFile(L"ExcelToCsv1.csv", L",", false); workbook->Dispose(); delete workbook; } CSV を Excel に変換する CSV を Excel に変換するには、Workbook->LoadFromFile(LPCWSTR_S fileName, LPCWSTR_S separator) メソッドを使用して CSV ファイルをロードします。次に、Workbook->SaveToFile (LPCWSTR_S fileName, ExcelVersion version) メソッドを使用して Excel ファイルに保存します。詳細な手順は次のとおりです。 Workbook クラスのインスタンスを初期化します。 Workbook->LoadFromFile(LPCWSTR_S fileName,LPCWSTR_S separator) メソッドを使用して、セパレータ付きの CSV ファイルをロードします。 Workbook->GetWorksheets()->Get(int index) メソッドを使用して、特定のシートをインデックスで取得します。 Worksheet->GetRange(LPCWSTR_S name)->SetIgnoreErrorOptions(IgnoreErrorType::NumberAsText) メソッドを使用して、特定のセル範囲の数値をテキストとして保存するときに「エラーを無視する」を設定します。 Worksheet->GetAllocatedRange()->AutoFitColumns() メソッドを使用して列幅を自動調整します。 Workbook->SaveToFile (LPCWSTR_S fileName, ExcelVersion version) メソッドを使用して、CSV を Excel ファイルに保存します。 C++ #include "Spire.Xls.o.h"; using namespace Spire::Xls; int main() { //Workbookクラスのインスタンスを初期化する Workbook* workbook = new Workbook(); //セパレータ付きCSVファイルをロードする workbook->LoadFromFile(L"ExcelToCSV.csv", L","); //最初のシートを取得する Worksheet* sheet = workbook->GetWorksheets()->Get(0); //特定のセル範囲の数値をテキストとして保存するときに「エラーを無視する」を設定 sheet->GetRange(L"C2:C11")->SetIgnoreErrorOptions(IgnoreErrorType::NumberAsText); //列幅を自動調整する sheet->GetAllocatedRange()->AutoFitColumns(); //CSVをXLSXファイルに保存する workbook->SaveToFile(L"CsvToExcel.xlsx", ExcelVersion::Version2013); workbook->Dispose(); delete workbook; } 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。