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

ASP .NETでPDFを作成する方法

Microsoft Excelは、データを保存し整理し、さまざまな形式で表示するスプレッドシートソフトウェアです。 有用な数式があるため、財務データで広く使用されています。 IronXL ソフトウェア ライブラリを使用して、C# で Excel ファイルをインポートして読み取ることができます。

IronXL - Excelライブラリ

IronXL - .NET Excelライブラリは、使いやすさ、精度、およびスピードを優先する.NET Excelライブラリです。 Excelドキュメントをインポートして読み込み、Excelファイルを効率的に作成および編集します。非常に高速です。 MS Office Interopなしで作動します。つまり、Excelがインストールされていなくても、Excelファイルを読むための全機能を提供します。 これにより、IronXL は C# で Excel ファイルをインポートして読み込むための強力なツールです。

IronXLは、Windows、Linux、macOS、Docker、Azure、AWSなどすべてのプラットフォームで利用可能です。 すべての.NETフレームワークと互換性があります。 IronXLは多用途なライブラリで、コンソール、デスクトップ、Web ASP.NETアプリケーションに統合することができます。 XLS や XLSX ファイル、XSLT や XLSM、CSV、TSV など、さまざまなワークブック形式をサポートしています。

いくつかの重要な機能

  • 異なるスプレッドシートフォーマット(XLS/CSV/TSV/XLSXファイル)からExcelファイルを開き、読み取り、データを検索します。
  • ExcelワークシートをXLS/XLSX/CSV/TSV/JSONにエクスポートします。
  • XLSM/XLTX/XLSXファイルをパスワードで暗号化および復号化します。
  • ExcelシートをSystem.Data.DataSetおよびSystem.Data.DataTableオブジェクトとしてインポートします。
  • Excelファイルの数式はシートが編集されるたびに再計算されます。
  • WorkSheet["A1:B10"] の簡単な構文で直感的なセル範囲設定が可能です。
  • セルの範囲、列、および行を並べ替えます。
  • セルのスタイリング - フォント、フォントサイズ、背景色、ボーダー、アライメント、ナンバリングフォーマット。

ExcelワークブックをC#でインポートする方法

前提条件

C#でIronXLを使用してExcelファイルを読み込むには、まずローカルコンピューターに以下のコンポーネントがインストールされていることを確認します。

1.Visual Studio - C# .NET アプリケーションを開発するための公式 IDE です。 Visual Studio Download PageからVisual Studioをダウンロードしてインストールできます。

  1. IronXL - C#でExcelシートを操作するのをサポートするライブラリです。 使用する前に C# プログラムにインストールする必要があります。 IronXLはIronXL NuGetパッケージから、またはVisual StudioのツールでNuGetパッケージを管理してダウンロードできます。 Iron Softwareのウェブサイトから.NET Excel DLLをダウンロードすることも可能です。

必要な名前空間の追加

Visual StudioとIronXLがインストールされたら、IronXLを使用するためにソースコードにIronXLアセンブリ参照を追加する必要があります。 新しいプロジェクトでIronXLの機能が使用される場所のファイルの先頭に以下の行を追加します。

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

C&num で既存の Excel ファイルを開く

Microsoft ExcelスプレッドシートはExcelワークブックとも呼ばれます。 各ワークブックには複数のワークシートが含まれており、単一のワークシートにはその値とともにタブ形式のセルが含まれています。 IronXLを使用してExcelファイルを開いて読み取るには、IronXLライブラリに存在するWorkBookクラスとLoadメソッドを使用して読み込ませます。 コードは次の通りです:

// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
' Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
$vbLabelText   $csharpLabel

これは、ワークブック インスタンス参照変数で Excel ファイルを開きます。 複数のワークシートを持つことができるため、特定のワークシートまたはすべてを一度に開くために使用できます。 以下のコードは、sheetインスタンス変数内の最初のWorkSheetを開きます。

WorkSheet sheet = workbook.WorkSheets.First();
WorkSheet sheet = workbook.WorkSheets.First();
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText   $csharpLabel

これによりExcelファイルの最初のシートが開かれ、Excelデータがこのシートから読み取られたり書き込まれたりすることができます。

開かれたExcelファイル

ASP .NETでPDFを作成する方法、図1:Excelファイル Excelファイル

インポートされたExcelファイルからデータを読み取る

Excel ファイルをインポートすると、データの読み取りが可能になります。 IronXL を使用して C# で Excel ファイル データを読み取ることは非常に簡単で簡単です。 セル参照番号を指定するだけで、Excel セルの値を読み取ることができます。

次のコードは、参照番号 "C2" のセルの値を取得します。

// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);
// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);
' Select cells easily in Excel-notation and return the value
Dim cellValue As Integer = sheet("C2").IntValue

' Display the value
Console.WriteLine(cellValue)
$vbLabelText   $csharpLabel

出力は以下の通りです。

ASP .NETでPDFを作成する方法、図2:Excel読み取り Excel の読み取り

Now, let's read data from a range of cells in the opened Excel file. コードは次の通りです:

// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from a range of cells elegantly.
For Each cell In sheet("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

コードは非常にシンプルでクリーンでクリアです。 foreachループの中で示されるように、単純な構文でセルの範囲を参照できます:sheet["A2:A6"]でそれぞれのセルをforeachループで繰り返してその値を取得します。 ここでは、コンソール出力で 2 行目から 6 行目までの A 列の名前が表示されます。

ASP .NETでPDFを作成する方法、図3:セル範囲の読み取り セル範囲の読み取り

セル値の読み取りと書き込みの詳細については、C#でExcelファイルを読む方法に関するこのチュートリアルをご確認ください。

Excelファイルから全データをインポート

IronXL を使用すると、行と列のインデックスを使用して一度に Excel シートを読み取ることができます。 次の IronXL コード サンプルは、コンソール出力で同じ形式で Excel ファイル全体のデータを取得するのに役立ちます。

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the value as a string
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the value as a string
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}
Imports Microsoft.VisualBasic

Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' Traverse all rows of Excel WorkSheet
For i As Integer = 0 To sheet.Rows.Count() - 1
	' Traverse all columns of specific Row
	For j As Integer = 0 To sheet.Columns.Count() - 1
		' Get the value as a string
		Dim val As String = sheet.Rows(i).Columns(j).Value.ToString()
		Console.Write("{0}" & vbTab, val)
	Next j
	Console.WriteLine()
Next i
$vbLabelText   $csharpLabel

出力ファイル

ASP .NETでPDFを作成する方法、図4:Excelファイルの読み取り結果をコンソールに表示 Excelファイルの読み取り結果をコンソールに出力

概要

この記事では、Microsoft ExcelをインストールせずにC#でExcelファイルをインポートして読み込む方法を学びました。 次に、Excelスプレッドシートからデータを読み取るさまざまな方法を検討しました。 IronXL を使用すると、Excel がインストールされていなくても C# で Excel ファイルを作成できます。

IronXLはMS Excelドキュメント関連のすべてのタスクをプログラムで実装するためのオールインワンソリューションを提供します。 数式の計算、文字列または数値の並べ替え、トリミングと追加、検索と置換、マージとアンマージ、ファイルの保存などを実行できます。セル値を編集し、スプレッドシートデータの検証と並んでセルデータ形式を設定することもできます。 CSVファイルにも対応しており、Excelのようなデータを操作するのにも役立ちます。

IronXLを無料で試すことでその機能を探索してください。 それは$799から始まるLiteパッケージで商業利用のためにライセンス可能です。

よくある質問

フォーマットを失わずに、ASP.NETアプリケーションからPDFを作成するにはどうすればよいですか?

IronPDFを使用することで、元のフォーマットを保持しながらASP.NETアプリケーションからPDFを作成できます。IronPDFはHTMLコンテンツのレイアウトとスタイルを正確にレンダリングします。

C#ウェブアプリケーションでHTMLをPDFに変換する最良の方法は何ですか?

IronPDFは、C#ウェブアプリケーションでHTMLをPDFに変換するための優れた選択です。HTML文字列やウェブページを高品質なPDFドキュメントに変換するRenderHtmlAsPdfなどのメソッドを提供します。

サードパーティのプラグインを使用せずにASP.NETでPDFを生成することは可能ですか?

はい、IronPDFを使用することで、サードパーティのプラグインや外部ソフトウェアに頼らずにASP.NETアプリケーションでPDFを生成できます。IronPDFはアプリケーションに直接統合され、PDFの作成を行います。

C#でHTMLからの変換時にPDFレイアウトの正確性をどのように保証しますか?

IronPDFは、HTMLからPDFに変換する際にPDFのレイアウトとフォーマットを正確に制御します。CSSスタイリング、改ページ、メディアクエリを保持し、出力が元のデザインに一致するようにします。

IronPDFを使用してPDFドキュメントを暗号化し、保護することはできますか?

はい、IronPDFにはPDFドキュメントを暗号化し、保護する機能が備わっています。パスワード保護を適用し、アクセスや編集の権限を設定して、PDFのセキュリティを確保することができます。

IronPDFはPDF生成においてどのプラットフォームをサポートしていますか?

IronPDFは、Windows、Linux、macOS、Docker、Azure、AWSを含む複数のプラットフォームでのPDF生成をサポートしており、さまざまなデプロイメント環境に対応しています。

ASP.NETでHTMLからPDFを作成する際に画像をどのように処理しますか?

IronPDFを使用する際、HTMLコンテンツ内の画像は変換中に自動的にPDFに埋め込まれます。さまざまな画像形式に対応しているため、最終ドキュメントで正しく表示されます。

ASP.NETアプリケーションでPDFの作成を自動化することは可能ですか?

もちろん、IronPDFを使用すると、ASP.NETアプリケーションでPDFの作成を自動化できます。特定の条件やイベントに基づいてPDF生成をスケジュールしたりトリガーしたりできます。

IronPDF は、ASP.NET およびその他の .NET プロジェクト タイプに対して .NET 10 を完全にサポートしていますか?

はい。IronPDFは.NET 10と完全に互換性があります。Web、デスクトップ、コンソール、Blazor、MAUIプロジェクトにおいて、 ChromePdfRenderer 10を含むすべての最新.NETバージョンをサポートしています。ChromePdfRenderer、 RenderHtmlAsPdf 、非同期メソッドなどのAPIは、以前の.NETバージョンと同様にご利用いただけます。

Curtis Chau
テクニカルライター

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

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