チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»C++»Spire.XLS for C++»変換»C++:Excel を CSV におよび CSV を Excel に変換する方法
2023-04-19

C++:Excel を CSV におよび CSV を Excel に変換する方法

Excel と CSV(カンマ区切り値)は、様々な表形式のデータを管理および保存するためによく使われる2つのファイル形式です。Excel はデータを行と列で組織化し、データ操作、分析、可視化など豊富な機能をユーザーに提供します。一方、CSV はデータを軽量で多様なアプリケーションと高い互換性を持つプレーンテキスト形式で保存されます。Excel を CSV に変換することで、ユーザーは異なるプログラム間で Excel データを交換したりインポートしたりすることができます。CSV を Excel に変換することで、ユーザーはグラフの作成や公式の適用など、より高度なデータ分析機能を利用することができます。この記事では、Spire.XLS for C++ を使用して C++ で 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;
}

C++:Excel を CSV におよび CSV を Excel に変換する方法

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

C++:Excel を CSV におよび CSV を Excel に変換する方法

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

C++:Excel を CSV におよび CSV を Excel に変換する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 485 times