フッターコンテンツにスキップ
IRONXLの使用

C#でExcelファイルをXMLに変換する方法

Microsoft Excelは、データの整理、分析、および視覚化における効果的であることで広く知られている多機能なスプレッドシートアプリケーションです。 それは、ユーザーがテキスト、数字、日付、数式などの様々な入力を個々のセルに入力できるグリッドに似て機能し、データは行と列に整理されて管理が容易になります。 その強力な数式および関数計算機能により、ユーザーは広範囲にわたる論理的、統計的、および数学的なタスクを実行できます。

Excelはデータを管理および評価するためのツールを提供し、データを視覚的に表現するグラフやチャートを作成することもできます。 複数のユーザーが同時にファイルを編集および共有できるため、共同作業を促進します。 これにより、マクロ、VBA、およびアドインを使用してカスタマイズおよび自動化することが可能で、さまざまな業務需要に適応できます。 Excelのワークブッククラスは、銀行業、教育、研究、ビジネス分析など、さまざまな分野で使用されています。 それは、データを整理、評価および意思決定に役立てるための不可欠なツールです。 この記事では、C#でExcelをXMLに変換する方法を学びます。

Excelファイル(XLS)をC#でXML形式に変換する

  1. Visual Studioでコンソールプロジェクトを作成します。
  2. IronXLライブラリをインストールします。
  3. 必要なIronXLのオブジェクトを初期化します。
  4. 新しいExcelファイル(XLSまたはXLSX)を作成するか、作成したオブジェクトにExcelファイルをロードします。
  5. XMLSaveOptionsクラス内のSaveAsXmlメソッドを使用して、ロードされたファイルをXMLに変換します。
  6. IronXLオブジェクトを破棄します。
using IronXL;

class Program
{
    static void Main()
    {
        // Step 2: Install IronXL library

        // Step 3: Initialize IronXL object
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Step 4: Create or load Excel file
        // Create a new Excel file
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");
        worksheet["A1"].Value = "Hello";
        worksheet["B1"].Value = "World";

        // Or load an existing Excel file
        workbook = WorkBook.Load("path_to_excel_file.xlsx");

        // Step 5: Convert Excel to XML
        XMLSaveOptions saveOptions = new XMLSaveOptions();
        workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions);

        // Step 6: Dispose of the IronXL objects
        worksheet.Dispose();
        workbook.Dispose();
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Step 2: Install IronXL library

        // Step 3: Initialize IronXL object
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Step 4: Create or load Excel file
        // Create a new Excel file
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");
        worksheet["A1"].Value = "Hello";
        worksheet["B1"].Value = "World";

        // Or load an existing Excel file
        workbook = WorkBook.Load("path_to_excel_file.xlsx");

        // Step 5: Convert Excel to XML
        XMLSaveOptions saveOptions = new XMLSaveOptions();
        workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions);

        // Step 6: Dispose of the IronXL objects
        worksheet.Dispose();
        workbook.Dispose();
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Step 2: Install IronXL library

		' Step 3: Initialize IronXL object
		Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

		' Step 4: Create or load Excel file
		' Create a new Excel file
		Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sheet1")
		worksheet("A1").Value = "Hello"
		worksheet("B1").Value = "World"

		' Or load an existing Excel file
		workbook = WorkBook.Load("path_to_excel_file.xlsx")

		' Step 5: Convert Excel to XML
		Dim saveOptions As New XMLSaveOptions()
		workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions)

		' Step 6: Dispose of the IronXL objects
		worksheet.Dispose()
		workbook.Dispose()
	End Sub
End Class
$vbLabelText   $csharpLabel

上記のコードでは、まずIronXLライブラリをインストールします。 次に、IronXLのオブジェクトを初期化し、Excelファイルを作成またはロードします。最後に、XMLSaveOptionsクラスを使用してSaveAsXmlメソッドを使ってロードされたファイルをXMLに変換します。 使用後にIronXLオブジェクトを破棄することを忘れないでください。

IronXLとは

IronXLと呼ばれる強力な.NETフレームワークExcelライブラリは、C#、VB.NETなどの.NET言語で記述されたExcelを扱うことを容易にするために作成されました。 それはXLSおよびXLSXファイル形式と互換性があります。 このライブラリを使用することで、開発者はより迅速かつ簡単にExcelスプレッドシートを作成、読み取り、編集、生成できます。 また、多数のツールと機能が利用可能です。

IronXLの主な機能と特性には次のものがあります:

  • データ処理:IronXLはExcelスプレッドシートでのデータの読み取り、書き込み、操作を容易にします。 2次元配列を使用してセルの値を取得することができ、数式、計算、データの書式設定も可能です。
  • Excelファイルの作成と変更:開発者は新しいExcelファイルの作成および既存のものの変更に加えて、ワークシートを追加、削除、管理することができます。また、DLLファイルを使用してさまざまなExcelコンポーネントと通信できます。
  • 多用途性と互換性:IronXLはクロスプラットフォームの互換性があり、複数の.NETプラットフォーム、Xamarin、.NET Core、.NET Frameworkと統合できるため、さまざまなアプリケーションシナリオで利用可能です。
  • レガシーおよび最新形式のExcelのサポート:それは古いXLS Excel形式と最新のXLSX Excel形式の両方をサポートしています。 Excel 2007以降のXMLベースの形式(XLSX)だけでなく、Excel 97–2003の古いExcelファイル形式(XLS)も処理できます。
  • 有用性:ライブラリは、簡単に理解できる属性と機能で構築されたシンプルなAPIを提供することにより、さまざまな経験レベルの開発者にとってExcel関連の作業をよりアクセスしやすくします。
  • データ抽出とエクスポート:IronXLはExcelファイルからのデータ抽出と、XML、新しいDataTable、プレーンテキストなどのさまざまな形式へのExcelデータエクスポートを容易にし、データベースや他のシステムとのインターフェースを容易にします。
  • サポートとドキュメント:IronXLはチュートリアル、ドキュメント、サポートが豊富で、開発者がそのライブラリをExcelベースの作業に利用するのを支援します。
  • 自動化と効率性:Excelの手続きの自動化により、IronXLはデータ駆動型の効率的なアプリを構築し、生産性を向上させ、手動の作業に費やす時間を削減することを可能にします。
  • 統合とカスタマイズ:Excelデータオプションを多様な形式にエクスポートすることにより、個人化レポートやデータ駆動型ソリューションの作成が容易になります。 また、データベースや他のシステムとうまく連携します。

フィナンス、データ分析、報告、ビジネスインテリジェンス、ソフトウェア開発など、さまざまな分野でIronXLが利用されています。 データ操作とExcel統合を組み合わせることで、プログラマーはExcelファイルを扱い、信頼性の高いソリューションを作成できます。 詳細はこちらのリンクをご覧ください。

新しいVisual Studioプロジェクトを作成

Visual Studioのコンソールプロジェクトの設定は簡単です。 コンソールアプリケーションを作成するには、次の手順に従ってください:

  1. Visual Studioを起動します。 コンピュータにVisual Studioがインストールされていることを確認してください。
  2. 新しいプロジェクトを作成します: ファイル > 新規作成 > プロジェクトを選択します。

!ExcelファイルをC#でXMLに変換する方法:図1 - 新しいプロジェクト

  1. '新しいプロジェクトを作成'ボックスの左側から、お好みのプログラミング言語(例:C#)を選択します。
  2. 利用可能なプロジェクトテンプレートのリストから、「コンソールアプリ」または「コンソールアプリ(.NET Core)」テンプレートを選択します。
  3. [名前]フィールドにプロジェクトの名前を指定します。

!ExcelファイルをC#でXMLに変換する方法:図2 - プロジェクト構成

  1. プロジェクトを保存する場所を選択します。
  2. 「作成」をクリックして、新しいコンソールアプリケーションプロジェクトの作業を開始します。

!ExcelファイルをC#でXMLに変換する方法:図3 - ターゲット フレームワーク

IronXLライブラリをインストールする

IronXLライブラリをインストールするには、次の手順に従います:

  1. IronXLライブラリをインストールします。これは次のステップに必要です。 NuGet パッケージマネージャー コンソールで次のコマンドを使用します:

    Install-Package IronXL
    Install-Package IronXL
    SHELL

    !ExcelファイルをC#でXMLに変換する方法:図4 - IronXLをインストール

  2. もう一つのアプローチとして、NuGet パッケージマネージャーを使用して「IronXL」パッケージを検索します。 検索結果の中から適切なIronXLのNuGetパッケージを選択します。

!ExcelファイルをC#でXMLに変換する方法:図5 - IronXL

ExcelファイルをC#でXMLに変換する

IronXLのSaveAsXml関数を使用すると、ExcelファイルからXMLファイル形式にデータを保存できます。

C#でIronXLを使用したSaveAsXml関数の使用方法の例を示します:

using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to your existing Excel file
        string excelFilePath = "path_to_excel_file.xlsx";
        // Specify the path to where the resulting XML file should be saved
        string xmlFilePath = "path_to_output_xml_file.xml";

        // Load Excel file using IronXL
        WorkBook workbook = WorkBook.Load(excelFilePath);

        // Save Excel data as XML
        workbook.SaveAsXml(xmlFilePath);

        Console.WriteLine("Excel data saved as XML successfully at: " + xmlFilePath);
    }
}
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to your existing Excel file
        string excelFilePath = "path_to_excel_file.xlsx";
        // Specify the path to where the resulting XML file should be saved
        string xmlFilePath = "path_to_output_xml_file.xml";

        // Load Excel file using IronXL
        WorkBook workbook = WorkBook.Load(excelFilePath);

        // Save Excel data as XML
        workbook.SaveAsXml(xmlFilePath);

        Console.WriteLine("Excel data saved as XML successfully at: " + xmlFilePath);
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Specify the path to your existing Excel file
		Dim excelFilePath As String = "path_to_excel_file.xlsx"
		' Specify the path to where the resulting XML file should be saved
		Dim xmlFilePath As String = "path_to_output_xml_file.xml"

		' Load Excel file using IronXL
		Dim workbook As WorkBook = WorkBook.Load(excelFilePath)

		' Save Excel data as XML
		workbook.SaveAsXml(xmlFilePath)

		Console.WriteLine("Excel data saved as XML successfully at: " & xmlFilePath)
	End Sub
End Class
$vbLabelText   $csharpLabel

結果のXMLファイルを保存するには、「path_to_output_xml_file.xml」を適切な場所に、「path_to_excel_file.xlsx」を実際のExcelファイルのパスに置き換えます。

このコードサンプルは、Excelファイルをロードし、IronXLが提供するSaveAsXml関数を使用して、Excelファイルのデータを手動で行と列を反復してXMLを構造化することなくXML形式に変換します。 このメソッドは内部でExcelデータをXML形式に変換し、それを指定されたXMLファイルに保存します。

XMLファイルを保存する際にディレクトリに書き込むための必要な権限を持っていることを確認してください。元のExcelファイルの内容とレイアウトが、結果のXMLの種類と構造に影響を与えることがあります。

入力ファイル:

!ExcelファイルをC#でXMLに変換する方法:図6 - Excel入力

結果:

!ExcelファイルをC#でXMLに変換する方法:図7 - XML出力

コードの詳細は、こちらのコード例を参照してください。

結論

データをExcelファイルからXML形式へエクスポートする簡単かつ効率的な方法は、IronXLのSaveAsXml関数を使用することです。 このメソッドを使用すると、Excelデータを手動で行とセルを反復処理してXML形式に変換する必要がなくなります。 IronXLは、この機能を提供する.NETライブラリです。

C#でIronXLのSaveAsXml関数を利用することにより、ユーザーは簡単かつ迅速にExcelデータをXML形式に変換できます。 IronXLは、非商業利用の制限がある無料のコミュニティエディションを提供しています。 IronXLの有料バージョンは、サブスクリプションまたは買い切りのライセンスモデルで提供されており、$799から開始しています。 この有料版は、強化された機能、サポート、完全な機能を提供します。 ライセンスに関する最新情報は、IronXLのウェブサイトを参照してください。 Iron Software製品の詳細については、こちらのページをご覧ください。

よくある質問

C# で Excel ファイルを XML に変換する方法は?

C# で Excel ファイルを XML に変換するには、IronXL ライブラリを使用できます。まず、Visual Studio コンソールプロジェクトをセットアップし、NuGet 経由で IronXL をインストールします。次に、Excel ファイルを読み込むか作成し、XMLSaveOptions クラス内の SaveAsXml メソッドを利用して変換を実行します。

Excel を XML に変換する際の IronXL の利点は何ですか?

IronXL は、Excel ファイルを XML に変換するプロセスを簡素化する簡単な API を提供します。手動でデータ イテレーションを行う必要がなく、.NET アプリケーションへの簡単な統合が可能です。

IronXL は変換において XLS および XLSX の両方の形式と互換性がありますか?

はい、IronXL は XLS および XLSX ファイル形式との互換性があり、さまざまな Excel ファイル操作と変換タスクに柔軟性を提供します。

Visual Studio プロジェクトにおける IronXL のインストール手順は何ですか?

Visual Studio で IronXL をインストールするには、NuGet パッケージ マネージャー コンソールで Install-Package IronXL コマンドを使用するか、NuGet パッケージ マネージャーで IronXL を検索し、そこから直接インストールできます。

使用後に IronXL オブジェクトを正しく破棄するにはどうすればよいですか?

IronXL オブジェクトを使用した後、それらが不要になったら Dispose メソッドを呼び出してリソースを解放し、適切に破棄することができます。

IronXL と互換性のあるプログラミング言語は何ですか?

IronXL は、C# や VB.NET などのさまざまな .NET 言語で使用でき、アプリケーションでの Excel 統合を必要とする開発者にとって柔軟な選択肢となります。

IronXL のライセンスオプションはどのようなものがありますか?

IronXL には、非商用利用に制限付きの無料のコミュニティ版があり、商用目的のためには、サブスクリプションまたは永久ライセンスを通じて強化された機能とサポートを備えた有料バージョンが利用可能です。

IronXL はどのようにして Excel から他の形式へのデータエクスポートを容易にしますか?

IronXL は、Excel ファイルから XML やプレーン テキストなどのさまざまな形式へのデータのシームレスな抽出とエクスポートを可能にし、データベースやその他のシステムとの統合を強化します。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。