
How to Convert An Excel File to XML in C#
Microsoft Excelは、データの整理、分析、および視覚化における効果的であることで広く知られている多機能なスプレッドシートアプリケーションです。 それは、ユーザーがテキスト、数字、日付、数式などの様々な入力を個々のセルに入力できるグリッドに似て機能し、データは行と列に整理されて管理が容易になります。 その強力な数式および関数計算機能により、ユーザーは広範囲にわたる論理的、統計的、および数学的なタスクを実行できます。
Excelはデータを管理および評価するためのツールを提供し、データを視覚的に表現するグラフやチャートを作成することもできます。 複数のユーザーが同時にファイルを編集および共有できるため、共同作業を促進します。 これにより、マクロ、VBA、およびアドインを使用してカスタマイズおよび自動化することが可能で、さまざまな業務需要に適応できます。 Excelのワークブッククラスは、銀行業、教育、研究、ビジネス分析など、さまざまな分野で使用されています。 それは、データを整理、評価および意思決定に役立てるための不可欠なツールです。 この記事では、C#でExcelをXMLに変換する方法を学びます。
Convert Excel Files (XLS) to XML Format in C#
- Visual Studioでコンソールプロジェクトを作成します。
- IronXLライブラリをインストールします。
- 必要なIronXLのオブジェクトを初期化します。
- 新しいExcelファイル(XLSまたはXLSX)を作成するか、作成したオブジェクトにExcelファイルをロードします。
SaveAsXmlメソッドをXMLSaveOptionsクラス内で使用して、ロードしたファイルをXMLに変換します。- 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();
}
}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上記のコードでは、まずIronXLライブラリをインストールします。 次に、IronXLオブジェクトを初期化し、Excelファイルを作成または読み込みます。最後に、SaveAsXml メソッドを XMLSaveOptions クラスで使用して、ロードしたファイルをXMLに変換します。 使用後にIronXLオブジェクトを破棄することを忘れないでください。
IronXLとは
IronXLと呼ばれる強力な.NETフレームワークExcelライブラリは、C#、VB.NETなど for .NET言語で記述されたExcelを扱うことを容易にするために作成されました。 それはXLSおよびXLSXファイル形式と互換性があります。 このライブラリを使用することで、開発者はより迅速かつ簡単にExcelスプレッドシートを作成、読み取り、編集、生成できます。 また、多数のツールと機能が利用可能です。
IronXLの主な機能と特性には次のものがあります:
*データ処理: IronXLを使用すると、Excelスプレッドシート内のデータの読み取り、書き込み、操作が簡単に行えます。 2次元配列を使用してセルの値を取得することができ、数式、計算、データの書式設定も可能です。
- **Excelファイルの作成と変更:**開発者は、新しいExcelファイルの作成や既存のファイルの変更に加え、ワークシートの追加、削除、管理を行うことができます。さらに、DLLファイルを使用してさまざまなExcelコンポーネントと通信することも可能です。 *汎用性と互換性: IronXL はクロスプラットフォームの相互運用性により、さまざまなアプリケーション シナリオで使用でき、Xamarin、 .NET Core、 .NET Frameworkなどの複数 for .NETプラットフォームと統合できます。 ***従来のExcel形式と最新のExcel形式の両方をサポート:**古いXLS Excel形式と、より新しいXLSX Excel形式の両方をサポートしています。 Excel 2007以降のXMLベースの形式(XLSX)だけでなく、Excel 97–2003の古いExcelファイル形式(XLS)も処理できます。 ***有用性:**分かりやすい属性と関数を備えたシンプルなAPIを提供することで、このライブラリは、経験レベルの異なる開発者にとってExcel関連の作業へのアクセス性を向上させます。 *データ抽出とエクスポート: IronXLは、Excelファイルからのデータ抽出と、ExcelデータをXML、新しいDataTable、プレーンテキストなどの複数の形式にエクスポートすることを容易にし、データベースや他のシステムとのインターフェースを容易にします。 *サポートとドキュメント: IronXLは、開発者がExcelベースのアクティビティにライブラリを使用する際に役立つ豊富なチュートリアル、ドキュメント、およびサポートを提供しています。 *自動化と効率化: IronXLはExcelの手順を自動化することで、ユーザーがデータ駆動型の効率的なアプリケーションを構築し、生産性を向上させ、手作業に費やす時間を削減できるようにします。 *統合とカスタマイズ: Excel のデータ選択をさまざまな形式にエクスポートすることで、パーソナライズされたレポートやデータ駆動型ソリューションの作成が容易になります。 また、データベースや他のシステムとうまく連携します。
フィナンス、データ分析、報告、ビジネスインテリジェンス、ソフトウェア開発など、さまざまな分野でIronXLが利用されています。 データ操作とExcel統合を組み合わせることで、プログラマーはExcelファイルを扱い、信頼性の高いソリューションを作成できます。 詳細はこちらのリンクをご覧ください。
新しいVisual Studioプロジェクトを作成
Visual Studioのコンソールプロジェクトの設定は簡単です。 コンソールアプリケーションを作成するには、次の手順に従ってください:
- Visual Studioを起動します。 コンピュータにVisual Studioがインストールされていることを確認してください。
- 新しいプロジェクトを作成します: ファイル > 新規作成 > プロジェクトを選択します。

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

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

IronXLライブラリをインストールする
IronXLライブラリをインストールするには、次の手順に従います:
-
IronXLライブラリをインストールします。これは次のステップに必要です。 NuGet パッケージマネージャー コンソールで次のコマンドを使用します:
Install-Package IronXLSHELL
-
もう一つのアプローチとして、NuGet パッケージマネージャーを使用して"IronXL"パッケージを検索します。 検索結果の中から適切なIronXLのNuGetパッケージを選択します。

Convert Excel File to XML in C#
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);
}
}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結果のXMLファイルを保存するには、"path_to_output_xml_file.xml"を適切な場所に、"path_to_excel_file.xlsx"を実際のExcelファイルのパスに置き換えます。
このコードサンプルは、Excelファイルをロードし、IronXLが提供するSaveAsXml関数を使用して、行と列を手動でループしなくても、ExcelファイルのデータをXML形式に変換します。 このメソッドは内部でExcelデータをXML形式に変換し、それを指定されたXMLファイルに保存します。
XMLファイルを保存する際にディレクトリに書き込むための必要な権限を持っていることを確認してください。元のExcelファイルの内容とレイアウトが、結果のXMLの種類と構造に影響を与えることがあります。
入力ファイル:

結果:

コードの詳細は、こちらのコード例を参照してください。
結論
ExcelファイルのデータをXML形式にエクスポートする簡単かつ効率的な方法は、IronXLのSaveAsXml関数を使用することです。 このメソッドを使用すると、Excelデータを手動で行とセルを反復処理してXML形式に変換する必要がなくなります。 IronXLは、この機能を提供する.NETライブラリです。
IronXLのSaveAsXml関数をC#で利用することで、ユーザーはExcelデータを簡単かつ迅速にXML形式に変換できます。 IronXLは、非商業利用の制限がある無料のコミュニティエディションを提供しています。 IronXLの有料版は、サブスクリプションまたは永続ライセンスモデルを通じて、$999から利用可能です。 この有料版は、強化された機能、サポート、完全な機能を提供します。 ライセンスに関する最新情報は、IronXLのウェブサイトを参照してください。 Iron Software製品の詳細については、こちらのページをご覧ください。

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



