IRONXLの使用

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

リーガン・パン
リーガン・パン
2024年1月27日
共有:

イントロダクション

Microsoft Excelは、データの整理、分析、視覚化においてその効果が認められている多機能なスプレッドシートアプリケーションとして広く使用されています。 それはグリッドと同様に機能するプログラムです。 ユーザーは個々のセルにテキスト、数字、日付、数式など、さまざまな種類の入力を行うことができ、データは簡単に管理できるように行と列に整理されます。 その強力な数式および関数計算機能により、ユーザーは広範な論理的、統計的、数学的なタスクを実行することができます。

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

C#でExcelファイル(XLS)を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クラスを使用して、読み込まれたファイルをXMLに変換するためにSaveAsXmlメソッドを使用します。 使用後にIronXLオブジェクトを忘れずに破棄してください。

IronXLとは

強力な.NETフレームワークのExcelライブラリであるIronXLは、C#、VB.NET、およびその他の.NET言語で書かれたExcelの処理を容易にするために作成されました。 それは、XLSおよびXLSXファイル形式に対応しています。 このライブラリを使用すると、開発者はExcelスプレッドシートをより迅速かつ簡単に作成、読み取り、編集、生成することができます。 多種多様なツールと機能も利用可能です。

IronXL の主な機能と特性には以下が含まれます:

  • データ管理: IronXL は、Excel スプレッドシート内のデータの読み取り、書き込み、および操作を簡単にします。 二次元配列を使用してセルの値を取得でき、数式、計算、およびデータのフォーマットがすべて可能です。
  • Excelファイルの作成および修正:開発者は、新しいExcelファイルの作成および既存のファイルの修正に加えて、ワークシートの追加、削除、管理を行うことができます。また、DLLファイルを使用してさまざまなExcelコンポーネントと通信することも可能です。
  • IronXL は、そのクロスプラットフォームの互換性により、さまざまなアプリケーションシナリオで利用可能であり、Xamarin、.NET Core、.NET Framework を含む複数の .NET プラットフォームと統合できます。
  • 多様性と互換性:従来のXLS Excelフォーマットと最新のXLSX Excelフォーマットの両方をサポートし、複数のExcelバージョンに対応しています。
  • レガシーおよび最新の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 コンソールプロジェクトの設定は簡単です。 以下の手順に従って、コンソールアプリケーションを作成してください:

  1. Visual Studioを起動してください。 Visual Studioがコンピューターにインストールされていることを確認してください。

  2. 新しいプロジェクトを作成:

    ファイル > 新規 > プロジェクト を選択します。

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

  3. 「新しいプロジェクトを作成」ボックスの左側からお好みのプログラミング言語(例:C#)を選択してください。

  4. 利用可能なプロジェクトテンプレートのリストから、「Console App」または「Console App (.NET Core)」テンプレートを選択します。

  5. 「名前」フィールドにプロジェクト名を入力してください。

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

  6. プロジェクトを保存する場所を選択してください。

  7. 「作成」をクリックして、新しいコンソールアプリケーションプロジェクトの作業を開始します。

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

IronXLライブラリのインストール

IronXLライブラリをインストールするには、以下の手順に従ってください:

  1. 次のステップにはIronXLライブラリが必要となるため、インストールしてください。 NuGet パッケージ マネージャー コンソールで次のコマンドを使用します:
    Install-Package IronXL

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

  1. 別の方法として、NuGet パッケージ マネージャーを使用して、パッケージ "IronXL" を検索することができます。 検索結果から適切なIronXLのNuGetパッケージを選択してください。

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

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

IronXL の SaveAsXml 関数を使用して、Excel ファイルのデータを XML ファイル形式で保存できます。

以下は、C#でIronXLを使用してSaveAsXml関数を使用する例です:

using IronXL;

class Program
{
    static void Main(string [] args)
    {
        string excelFilePath = "Excel file here";
        string xmlFilePath = "XML file here";

        // 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)
    {
        string excelFilePath = "Excel file here";
        string xmlFilePath = "XML file here";

        // 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)
		Dim excelFilePath As String = "Excel file here"
		Dim xmlFilePath As String = "XML file here"

		' 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ファイルを保存するには、「XML file here」を適切な場所に置き換え、「Excel file here」を実際のExcelファイルのパスに置き換えてください。

このコードサンプルは Excel ファイルをインポートし、IronXL によって提供される SaveAsXml 関数を使用して、行や列を手動でループして XML を構成することなく、Excel ファイルのデータを XML 形式に変換します。 このメソッドは内部でExcelデータをXML形式に変換し、指定されたXMLファイルに公開します。

XMLファイルを保存する際にディレクトリに書き込むための必要な権限があることを確認してください。元のExcelファイルの内容とレイアウトは、生成されるXMLのタイプと構造に影響を与える可能性があります。

入力ファイル:

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

結果:

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

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

結論

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

IronXLのSaveAsXml関数をC#で利用することにより、ユーザーは簡単かつ迅速にExcelデータをXML形式に変換できます。 IronXLは、非商業利用に制限がある無料のCommunity Editionを提供しています。 IronXLの有料バージョンは、$749から始まるサブスクリプションまたは永久ライセンスモデルを通じて利用できます。 これらの有料バージョンは、拡張機能、サポート、完全な機能を提供します。 ライセンスに関する最新情報については、IronXLのウェブサイトをご参照ください。 Iron Software製品について詳しく知るには、このページをご覧ください。

リーガン・パン
ソフトウェアエンジニア
レーガンはリーディング大学で電子工学の学士号を取得しました。Iron Softwareに入社する前の仕事では、一つのタスクに集中して取り組んでいました。Iron Softwareでは、営業、技術サポート、製品開発、マーケティングのいずれにおいても広範な業務に携わることが最も楽しいと感じています。彼は、Iron Softwareライブラリを開発者がどのように使用しているかを理解し、その知識を使ってドキュメントを継続的に改善し、製品を開発することを楽しんでいます。
< 以前
CSVファイルからデータを読み取り、データベースに格納する方法 (C#)
次へ >
VB .NETでExcelファイルをSQLデータベースにインポートする方法