ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
今日のソフトウェアアプリケーションにとって、レポートを生成しデータベースを構築するためにExcelファイルを扱う能力は不可欠となっています。 現在、多くのライブラリを使用することで、ユーザーはMicrosoft Excelなしでこれを実行することができます。
この記事では、C# .NET テクノロジーを使用して、Microsoft Excel ドキュメントをプログラムで操作する方法について、最も人気のある2つのライブラリ、IronXL と Aspose Cells を比較しながら説明します。
IronXLとAspose Cellsは、どちらも.NETフレームワークでExcelドキュメントを作成、編集、および読み取るためのメソッドを提供します。 次の質問は、どちらを選ぶか決定することです C# エクセル ライブラリ プロジェクトに最適です。 この記事は、アプリケーションのための最適なオプションを決定するのに役立ちます。
まず、両方のライブラリが提供する内容を見てみましょう。その後、比較自体に移ります。
IronXLは、C#を使用してMicrosoft Excel文書の読み取りおよび編集を簡単にする.NETライブラリです。 IronXL.Excelは、幅広いスプレッドシートフォーマットを読み取るためのスタンドアロンの.NETソフトウェアライブラリです。 Microsoft Excelをインストールする必要はなく、Interopに依存しません。
IronXLは、直感的なC# APIであり、.NETにおいてExcelスプレッドシートファイルの読み取り、編集、作成を高速で行うことができます。 IronXLは、.NET Core、.NET Framework、Xamarin、モバイル、Linux、macOS、およびAzureを完全にサポートしています。
IronXLは、C#向けの主要な .NET コアおよび .NET フレームワーク Excel スプレッドシートライブラリです。
Aspose Cellsは、電子表計算プログラムで使用されるスプレッドシートの作成や操作を支援する強力なライブラリです。多くのプログラミング言語に対応しており、エンタープライズレベルのソリューションを提供します。
Aspose Cellsは、多くのプログラミング言語とフレームワークに対応しています。以下はその一部です。
Aspose Cellsを使用することで、スプレッドシート処理の全プロセスを自動化し、生産性を向上させることができます。
Aspose.Cells for .NETは、スプレッドシートの管理および処理のタスクを迅速化するためのExcelスプレッドシートプログラミングAPIです。 APIは、スプレッドシートを生成、変更、変換、レンダリング、および印刷する能力を持つクロスプラットフォームアプリケーションの構築をサポートします。 さらに、Microsoft Excel やその他の Microsoft Office Interop コンポーネントのインストールに依存せず、すべての Excel フォーマットに加え、CSV と SpreadsheetML フォーマットに対応する堅牢な API セットを提供します。
APIを統合することで、開発者は複数のワークシートの管理、スプレッドシートの内容やスタイルのゼロからの作成、様々なデータソースからワークシートへのデータのインポート、一般的および複雑な数式、財務、テキストの式の追加、チャート、画像、コメント、描画オブジェクトの操作など、基本的なタスクを実行できます。
以下はAspose Cellsの際立った機能の一部です:
レンダリング
印刷
データ処理
スマートマーカーズ
グリッドスイート
データのインポート/エクスポート
この記事の続きは次の通りです:
コンソールアプリケーションを作成する
IronXL C# ライブラリのインストール
Aspose Cells インストール
新しいExcelブックとシートを作成して保存
Excelファイルの読み取り
Excel 公式の操作
ファイルの相互変換
ライセンス
次の手順を使用してコンソールアプリケーションを作成します:
追加情報画面で、使用したいフレームワークのバージョンを指定してください。 この例では、.NET Framework 4.8 を使用します。
「作成」をクリックしてプロセスを完了します。
プロジェクトが作成され、ライブラリのテストを実行する準備がほぼ整いました。 しかし、私たちはまだそれらをインストールし、プロジェクトに統合する必要があります。 まず、IronXLをインストールしましょう。
次の方法を使用して、IronXLライブラリをダウンロードおよびインストールできます:
Visual Studio で NuGet パッケージを使用する。
NuGetパッケージを直接ダウンロードしてください。
DLLを使用して手動でインストールします。
それぞれを詳しく見ていきましょう。
Visual Studio は、プロジェクトに NuGet パッケージをインストールするための NuGet パッケージ マネージャーを提供します。 それはプロジェクトメニューからアクセスするか、ソリューションエクスプローラーでプロジェクトを右クリックしてアクセスできます。
次に、ブラウズタブから -> IronXL.Excelを検索 -> インストール
これは、NuGetサイトに直接アクセスし、パッケージをダウンロードすることでできます。 以下の手順は:
2.3. DLLを使用して手動でインストール
IronXL C#ライブラリをダウンロードしてインストールする別の方法は、以下の手順を使用して IronXL NuGetパッケージ をDeveloper Command Promptを通じてインストールすることです。
Developer Command Promptを開きます—通常はVisual Studioフォルダーにあります。
以下のコマンドを入力してください:
PM > Install-Package IronXL.Excel
ソリューション エクスプローラーで、Program.cs ファイルを右クリックし、[コードの表示] をクリックします。
using IronXL;
using IronXL;
Imports IronXL
すべて完了しました! IronXLはダウンロードされ、インストールされ、使用する準備が整いました。 ただし、その前にMicrosoft.Office.Interop.Excelをインストールする必要があります。
プロジェクトを作成した後、プロジェクトメニューから、またはソリューションエクスプローラーでプロジェクトを右クリックしてNuGetパッケージマネージャーにアクセスします。
Aspose Cells C# ライブラリをダウンロードおよびインストールする別の方法として、以下の手順を使用して開発者コマンド プロンプトを介してNuGet パッケージをインストールする方法があります。
Developer Command Promptを開きます—通常はVisual Studioフォルダーにあります。
以下のコマンドを入力してください:
PM> Install-Package Aspose.Cells
以下のリンクをクリックすることで、Aspose Cellsの任意のバージョンをウェブサイトから直接ダウンロードできます: https://downloads.aspose.com/cells/net
または:
NuGetウェブサイトからダウンロード: https://www.nuget.org/packages/Aspose.Cells/
ソリューション エクスプローラーで、Program.cs ファイルを右クリックし、[コードの表示] をクリックします。
using Aspose.Cells;
using Aspose.Cells;
Imports Aspose.Cells
ワークブックは、複数のワークシートを含む行と列を持つExcelファイルです。 両方のライブラリは、新しいExcelワークブックおよびシートを作成する機能を提供します。 コードを一歩ずつ見てみましょう。
IronXLを使用して新しいExcelワークブックを作成するのは簡単です。! それはたった1行のコードです! 本当にそうです。 Program.csファイルのstatic void main関数に次のコードを追加してください:
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
どちらのXLS(古いExcelファイルバージョン)およびXLSX(現在のバージョンおよび最新バージョン)IronXLでファイル形式を作成できます。
さらに、デフォルトのWorksheetを作成するのはもっと簡単です:
var worksheet = workbook.CreateWorkSheet("IronXL Features");
var worksheet = workbook.CreateWorkSheet("IronXL Features");
Dim worksheet = workbook.CreateWorkSheet("IronXL Features")
ワークシート変数を使用してセルの値を設定し、Excelファイルでできるほとんどのことを行うことができます。
Excelファイルを保存する
//Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx");
//Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx");
'Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx")
スプレッドシートとその内容を作成する前に、ライセンス版を購入した場合、評価制限を回避するためにライセンスオブジェクトを作成する必要があります。 コードは次のようになります:
// Create a License object
License license = new License();
// Set the license of Aspose.Cells to avoid the evaluation limitations
license.SetLicense(dataDir + "Aspose.Cells.lic");
// Create a License object
License license = new License();
// Set the license of Aspose.Cells to avoid the evaluation limitations
license.SetLicense(dataDir + "Aspose.Cells.lic");
' Create a License object
Dim license As New License()
' Set the license of Aspose.Cells to avoid the evaluation limitations
license.SetLicense(dataDir & "Aspose.Cells.lic")
次に、ワークブックとワークシートを作成するコードを見てみましょう。 コードサンプルは次のようになります:
// Instantiate a Workbook object that represents Excel file.
Workbook wb = new Workbook();
// When you create a new workbook, a default "Sheet1" is added to the workbook.
Worksheet sheet = wb.Worksheets [0];
// Instantiate a Workbook object that represents Excel file.
Workbook wb = new Workbook();
// When you create a new workbook, a default "Sheet1" is added to the workbook.
Worksheet sheet = wb.Worksheets [0];
' Instantiate a Workbook object that represents Excel file.
Dim wb As New Workbook()
' When you create a new workbook, a default "Sheet1" is added to the workbook.
Dim sheet As Worksheet = wb.Worksheets (0)
Excelファイルを保存する
//Save spreadsheet
wb.Save("NewExcelFile.xlsx");
//Save spreadsheet
wb.Save("NewExcelFile.xlsx");
'Save spreadsheet
wb.Save("NewExcelFile.xlsx")
両方のライブラリは、既存のExcelドキュメントを開いて読み取ることができます。 サンプルコードを見てみましょう。
IronXLのWorkBookクラスはExcelシートを表します。 C# を使用して Excel ファイルを開くには、WorkBook.Load を使用し、Excel ファイルのパスを指定します。(.xlsx). 次の一行のコードは、ファイルを読み取るために使用されます:
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
'Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
各 WorkBook には複数の WorkSheet オブジェクトを含めることができます。 これらはExcelドキュメント内のワークシートを表しています。 ワークブックにワークシートが含まれている場合、次のように名前で取得します:
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
'Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
セル値を読み取るコード:
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet ("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
Aspose CellsでExcelファイルを読み込むのも簡単な作業です。複数のシートを容易に管理できます。 下記のコードをご覧ください:
// Creating a Workbook object and opening an Excel file using its file path
var workbook = new Workbook(@"Spreadsheets\\sample.xlsx");
//Adding new sheet
Worksheet sheet = workbook1.Worksheets.Add("MySheet");
// Creating a Workbook object and opening an Excel file using its file path
var workbook = new Workbook(@"Spreadsheets\\sample.xlsx");
//Adding new sheet
Worksheet sheet = workbook1.Worksheets.Add("MySheet");
' Creating a Workbook object and opening an Excel file using its file path
Dim workbook As New Workbook("Spreadsheets\\sample.xlsx")
'Adding new sheet
Dim sheet As Worksheet = workbook1.Worksheets.Add("MySheet")
セル値を読み取るためのコード:
//Get Cells
Cells cells = sheet.Cells;
foreach (var cell in cells)
{
Console.WriteLine(cell.Value);
}
//Get Cells
Cells cells = sheet.Cells;
foreach (var cell in cells)
{
Console.WriteLine(cell.Value);
}
'Get Cells
Dim cells As Cells = sheet.Cells
For Each cell In cells
Console.WriteLine(cell.Value)
Next cell
Excelの数式は、Excelファイルを扱う上で最も重要な機能の一つです。 その両方のライブラリには強力な数式計算エンジンがあります。
これらは、数式を扱い、セルに簡単に適用する機能を提供します。
ワークブックとワークシートを読み込んだ後、次のコードサンプルを使用して、数式に変更を加えるか、特定のセルに適用することができます。 コードは次のようになります:
// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();
// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();
' Set Formulas
worksheet ("A1").Formula = "Sum(B8:C12)"
worksheet ("B8").Formula = "=C9/C11"
worksheet ("G30").Formula = "Max(C3:C7)"
' Force recalculate all formula values in all sheets.
workbook.EvaluateAll()
数式とその値を取得することもできます:
// Get the formula's calculated value. e.g. "52"
string formulaValue = worksheet ["G30"].Value;
//Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet ["G30"].Formula;
//Save your changes with updated formulas and calculated values.
workbook.Save();
// Get the formula's calculated value. e.g. "52"
string formulaValue = worksheet ["G30"].Value;
//Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet ["G30"].Formula;
//Save your changes with updated formulas and calculated values.
workbook.Save();
' Get the formula's calculated value. e.g. "52"
Dim formulaValue As String = worksheet ("G30").Value
'Get the formula as a string. e.g. "Max(C3:C7)"
Dim formulaString As String = worksheet ("G30").Formula
'Save your changes with updated formulas and calculated values.
workbook.Save()
Aspose.Cellsを使用すると、数式の操作も簡単です。 以下のコードを読み込まれているExcelファイルに追加します。 コードは次のようになります:
//Setting values
Cells cells = sheet.Cells;
//Setting formula
cells ["A4"].Formula = "=SUM(A1:A3)";
// Calculating the results of formulas
workbook.CalculateFormula();
//Setting values
Cells cells = sheet.Cells;
//Setting formula
cells ["A4"].Formula = "=SUM(A1:A3)";
// Calculating the results of formulas
workbook.CalculateFormula();
'Setting values
Dim cells As Cells = sheet.Cells
'Setting formula
cells ("A4").Formula = "=SUM(A1:A3)"
' Calculating the results of formulas
workbook.CalculateFormula()
上記のコードに続いて、簡単にさらに多くの数式を設定することができます。
IronXLとAspose Cellsの両方は、Excel xlsxファイルを異なる形式に変換し、異なる形式からExcelワークブックに変換する機能を提供します。
そのプロセスは非常にシンプルで簡単です。 通常は1行のコードで行われます。
CSVからExcel形式へ:
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat:
ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat:
ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("CsvToExcelConversion.xlsx")
XLSXファイルからXLSMファイルへ:
WorkBook workbook = WorkBook.Load("test.xlsx");
//This is how you can export workbook to .xlsm format
workbook.SaveAs("test.xlsm");
WorkBook workbook = WorkBook.Load("test.xlsx");
//This is how you can export workbook to .xlsm format
workbook.SaveAs("test.xlsm");
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
'This is how you can export workbook to .xlsm format
workbook.SaveAs("test.xlsm")
オプション付きExcelからHTMLへの変換:
WorkBook workbook = WorkBook.Load("test.xlsx");
var options = new HtmlExportOptions()
{
//This is how we can make row/column numbers visible in html document
OutputRowNumbers = true,
OutputColumnHeaders = true,
OutputHiddenColumns = true,
//This is how we can make hidden rows/columns visible in html document
OutputHiddenRows = true,
OutputLeadingSpacesAsNonBreaking = true
};
//This is how we can export workbook to the HTML file
workbook.ExportToHtml("workbook.html",options);
WorkBook workbook = WorkBook.Load("test.xlsx");
var options = new HtmlExportOptions()
{
//This is how we can make row/column numbers visible in html document
OutputRowNumbers = true,
OutputColumnHeaders = true,
OutputHiddenColumns = true,
//This is how we can make hidden rows/columns visible in html document
OutputHiddenRows = true,
OutputLeadingSpacesAsNonBreaking = true
};
//This is how we can export workbook to the HTML file
workbook.ExportToHtml("workbook.html",options);
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim options = New HtmlExportOptions() With {
.OutputRowNumbers = True,
.OutputColumnHeaders = True,
.OutputHiddenColumns = True,
.OutputHiddenRows = True,
.OutputLeadingSpacesAsNonBreaking = True
}
'This is how we can export workbook to the HTML file
workbook.ExportToHtml("workbook.html",options)
ExcelのxlsxファイルをAspose Cellsで変換するのは非常に簡単です。 以下のコードをご覧ください:
Excel to HTML:
エクセルからHTMLへ
//Load your source workbook
Workbook workbook = new Workbook("Book1.xlsx");
//save file to html format
workbook.Save("out.html");
//Load your source workbook
Workbook workbook = new Workbook("Book1.xlsx");
//save file to html format
workbook.Save("out.html");
'Load your source workbook
Dim workbook As New Workbook("Book1.xlsx")
'save file to html format
workbook.Save("out.html")
ODs テキストを Excel に変換:
//Load your source ods text file
Workbook workbook = new Workbook("book1.ods");
//Save as xlsx file
workbook.Save("ods_out.xlsx");
//Load your source ods text file
Workbook workbook = new Workbook("book1.ods");
//Save as xlsx file
workbook.Save("ods_out.xlsx");
'Load your source ods text file
Dim workbook As New Workbook("book1.ods")
'Save as xlsx file
workbook.Save("ods_out.xlsx")
Excel WorksheetをSVG形式に変換:
// Instantiate a workbook
var workbook = new Workbook();
// Populate worksheets first cell
workbook.Worksheets [0].Cells ["A1"].Value = "DEMO TEXT ON SHEET1";
// Convert Worksheets
workbook.Save("ConvertWorksheetToSVG_out.svg");
// Instantiate a workbook
var workbook = new Workbook();
// Populate worksheets first cell
workbook.Worksheets [0].Cells ["A1"].Value = "DEMO TEXT ON SHEET1";
// Convert Worksheets
workbook.Save("ConvertWorksheetToSVG_out.svg");
' Instantiate a workbook
Dim workbook As New Workbook()
' Populate worksheets first cell
workbook.Worksheets (0).Cells ("A1").Value = "DEMO TEXT ON SHEET1"
' Convert Worksheets
workbook.Save("ConvertWorksheetToSVG_out.svg")
IronXLは、商用のオープンソースC# Excelライブラリです。 開発用には無料で、商業展開には常にライセンスを取得することができます。 ライセンスが利用可能です 単一プロジェクトの使用、単一開発者、代理店、グローバル企業、ならびにSaaSおよびOEM再配布用。 すべてのライセンスには、30日間の返金保証、1年間の製品サポートおよび更新、開発/ステージング/本番環境での有効性、そして永久ライセンスが含まれています。(一回限りの購入). Liteパッケージは $749から始まります。
Aspose CellsはオープンソースAPIであり、商業利用のためにライセンスを取得することができます。 Aspose.Cells製品の評価版は、製品の全機能を提供しますが、1つのプログラムで100ファイルのオープンに制限があり、評価用のウォーターマークが入った追加のワークシートが含まれています。 技術サポートは無料かつ無制限で、ライセンスユーザーおよび評価ユーザーの双方に提供されます。 評価版の制限なしでAspose.Cellsをテストしたい場合は、30日間の一時ライセンスをリクエストするか、ライセンスバージョンをこちらから購入してください。 リンク. 開発者向けのスモールビジネスパッケージは、1199ドルからです。
比較すると、IronXL と Aspose.Cells は Excel を扱う際に競合します。 IronXLとAspose.Cellsはどちらも基本的なExcel操作に加えて高度なExcel機能を提供します。 IronXLは開発に無料で使用できますが、Aspose.Cellsには評価期間があり、アプリケーションごとにファイルが100個に制限されています。 ここでは、非営利利用においてIronXLが優位に立っています。 さらに、IronXL は JSON 形式との相互変換も提供しています。
9つの .NET API製品 オフィス文書用