ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
このチュートリアルでは、IronXLライブラリを使用してASP.NET CoreアプリケーションでExcelファイルを開く方法を示します。 Excelファイルを読み取り、そこからデータを表示し、変更されたデータをファイルに保存する基本的な手順をカバーします。
IronXLは、Microsoft ExcelやOffice Interopの依存関係を必要とせずに、Excel文書を操作する機能を提供する.NET Excelライブラリです。 それは、.NET Frameworkと.NET Coreの両方をサポートしており、ほんの数行のコードでExcelファイルの作成、操作、読み取りが可能です。 Excelファイルの読み取りに関する詳細なチュートリアルはこちらをご覧くださいエクセルチュートリアル.
IronXLライブラリはExcelドキュメントの読み書き, データを抽出するこれらからデータを操作し、新しいExcelファイルをゼロから作成することさえ可能です。 IronXLは.XLS形式だけでなく、.XLSXと互換性がありますこれは、スプレッドシートを表現するためにMicrosoftによって開発されたXMLベースのファイル形式です。
コードに入る前に、以下の項目を確認してください:
.NET Core 3.1以降がインストールされている。
.NET開発に適したIDE(Microsoft Visual Studio が推奨されています).
Microsoft Visual Studio を開き、「新しいプロジェクトを作成」を選択します。
プロジェクトテンプレートの一覧から「ASP.NET Core Web アプリ」を選択し、「次へ」をクリックします。
プロジェクトに名前を付けます。例えば、「Open_Excel_File_.NET_Core」とし、場所を選択して「次へ」をクリックします。
次のステップでは、この新しく作成されたプロジェクトにIronXLパッケージをインストールします。
ソリューションエクスプローラーでプロジェクトを右クリックして、「NuGetパッケージの管理」を選択します。
「ブラウズ」タブで「IronXL」と検索し、IronXL.Excelパッケージの「インストール」をクリックしてください。
NuGetパッケージマネージャーUIでIronXLパッケージを検索してインストールする
パッケージがインストールされるのを待ちます。
ASP.NET Coreプロジェクトのセットアップが完了し、IronXLライブラリがインストールされ、使用準備が整いました。
次に、Excelファイルを開くコードを書くためのRazorページを作成しましょう。
ソリューションエクスプローラーで「Pages」フォルダーを右クリックし、「追加」 > 「Razor Page」を選択します。
「ExcelOpener」とページ名に入力し、「追加」をクリックしてください。
新しいRazerページを作成
これは2つのファイルを作成します:ExcelOpener.cshtml と ExcelOpener.cshtml.cs。
ExcelOpener.cshtmlファイルにはページのHTMLマークアップが含まれており、ExcelOpener.cshtml.csファイルにはページのC#コードビハインドが含まれています。
コードに飛び込みましょう。 提供された ExcelOpenerModel
クラスは、Razor ページモデルです。 このクラスには List
があります<ListData
プロパティは、Excelファイルから読み取ったデータを保存するために使用されます。
public List<List<string>> Data { get; set; }
public ExcelOpenerModel()
{
Data = new List<List<string>>();
}
public List<List<string>> Data { get; set; }
public ExcelOpenerModel()
{
Data = new List<List<string>>();
}
Public Property Data() As List(Of List(Of String))
'INSTANT VB WARNING: The following constructor is declared outside of its associated class:
'ORIGINAL LINE: public ExcelOpenerModel()
Public Sub New()
Data = New List(Of List(Of String))()
End Sub
OnGet
メソッドでは、IronXL を使用して Excel ファイルを読み込み、デフォルトのワークシートからデータを読み取ります。(ワークブックの最初のシート). 各行はList
として表されます、これらすべてのリストは
Data` プロパティに追加されます。
public void OnGet()
{
try
{
Data = new List<List<string>>();
//Load your Excel file
var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");
//Select your Worksheet
WorkSheet sheet = workbook.DefaultWorkSheet;
for (int i = 0; i < sheet.RowCount; i++)
{
var row = new List<string>();
for (int j = 0; j < sheet.ColumnCount; j++)
{
row.Add(sheet.GetCellAt(i, j).Value.ToString());
}
Data.Add(row);
}
}
catch (Exception ex)
{
//Handle exceptions here
Console.WriteLine(ex.Message);
}
}
public void OnGet()
{
try
{
Data = new List<List<string>>();
//Load your Excel file
var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");
//Select your Worksheet
WorkSheet sheet = workbook.DefaultWorkSheet;
for (int i = 0; i < sheet.RowCount; i++)
{
var row = new List<string>();
for (int j = 0; j < sheet.ColumnCount; j++)
{
row.Add(sheet.GetCellAt(i, j).Value.ToString());
}
Data.Add(row);
}
}
catch (Exception ex)
{
//Handle exceptions here
Console.WriteLine(ex.Message);
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
WorkBook.Load
を日本語に翻訳する場合、コンテキストや技術的な意味を正確に維持することが重要です。以下が適切な翻訳です:
WorkBook.Load
この場合、製品名や特定のクラス・メソッド名をそのまま残すことが一般的です。英語の技術用語やプログラミング用語は日本語の技術書やプログラミングのドキュメントでもそのまま使用されることが多いので、「WorkBook.Load
」はそのまま記載するのが適切です。(ファイルパス)**:このメソッドは指定されたファイルパスからExcelドキュメントを読み込みます。 それはExcelシートの読み込みと読み取りを助けます。
workbook.DefaultWorkSheet
: このプロパティはデフォルトの(最初)Excelワークシート in the Excelスプレッドシート.
sheet.GetCellAt
(i, j).Value.ToString()これは指定された行と列のインデックスでセルを取得し、その値を文字列に変換します。 これは、行と列のインデックスに基づいてExcelファイル内の特定のセルまたは範囲にアクセスできるインデックスメソッドの例です。
ExcelOpener.cshtml.cs ファイルには、ExcelOpenerModel
というクラスが Razor ページ モデルを表しています。 それには、List
型の Data
という名前のプロパティが含まれています。<List
OnGet
メソッドはページがリクエストされたときに呼び出され、Excel ファイルからデータを読み取る役割を果たします。このメソッドは IronXL を使用して Excel ファイルを読み込み、デフォルトのワークシートを選択し、行と列を繰り返し処理して Data
プロパティにデータを格納します。
ExcelOpenerModel
クラスの OnPost
メソッドは、Excelファイルに対する変更を保存するために使用されます。まずExcelファイルをロードし、デフォルトのワークシートを取得します。 次に、 data
の値をワークシートのセルに書き込み、新しいファイルにブックを保存します。
public void OnPost()
{
try
{
//Load your Excel file
var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");
//Select your Worksheet
var sheet = workbook.DefaultWorkSheet;
for (int i = 0; i < Data.Count; i++)
{
for (int j = 0; j < Data [i].Count; j++)
{
sheet.SetCellValue(i, j, Data [i][j]);
}
}
// Save the Excel file
var filename = "C:\\ModifiedData.xlsx"
workbook.SaveAs(filename);
}
catch (Exception ex)
{
//Handle exceptions here
Console.WriteLine(ex.Message);
}
}
public void OnPost()
{
try
{
//Load your Excel file
var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");
//Select your Worksheet
var sheet = workbook.DefaultWorkSheet;
for (int i = 0; i < Data.Count; i++)
{
for (int j = 0; j < Data [i].Count; j++)
{
sheet.SetCellValue(i, j, Data [i][j]);
}
}
// Save the Excel file
var filename = "C:\\ModifiedData.xlsx"
workbook.SaveAs(filename);
}
catch (Exception ex)
{
//Handle exceptions here
Console.WriteLine(ex.Message);
}
}
Public Sub OnPost()
Try
'Load your Excel file
Dim workbook = WorkBook.Load("C:\Users\Administrator\Documents\Loan.xlsx")
'Select your Worksheet
Dim sheet = workbook.DefaultWorkSheet
For i As Integer = 0 To Data.Count - 1
Dim j As Integer = 0
Do While j < Data (i).Count
sheet.SetCellValue(i, j, Data (i)(j))
j += 1
Loop
Next i
' Save the Excel file
Dim filename = "C:\ModifiedData.xlsx" workbook.SaveAs(filename)
Catch ex As Exception
'Handle exceptions here
Console.WriteLine(ex.Message)
End Try
End Sub
sheet.SetCellValue
(i、j、データ[i][j])このメソッドは指定された行と列のインデックスでセルの値を設定します。
こちらを日本語に翻訳した内容です:
OnPost
メソッドは、フォームが送信されると呼び出され、修正されたデータをExcelファイルに保存します。Excelファイルを読み込み、デフォルトのワークシートを選択し、フォームから受け取った修正済みデータに基づいてセルの値を更新します。
ExcelOpener.cshtmlでは、Excelファイルからデータを表示および編集するためのフォームが定義されています。各セルの値はテキスト入力フィールドに表示されます。 編集後、「保存」ボタンをクリックすると、フォームが送信され、OnPost
メソッドがトリガーされ、変更内容がExcelファイルに保存されます。
@page
@model Open_Excel_File_.NET_Core.Pages.ExcelOpenerModel
<form method="post">
<table class="table table-bordered table-striped">
<!-- Bootstrap classes for tables -->
@for (int i = 0; i < Model.Data.Count; i++)
{
<tr>
@for (int j = 0; j < Model.Data[i].Count; j++)
{
<td>
<input type="text" class="form-control" name="Data[@i][@j]" value="@Model.Data[i][j]" /> <!-- Bootstrap class for form controls -->
</td>
}
</tr>
}
</table>
<input type="submit" class="btn btn-primary" value="Save" /> <!-- Bootstrap classes for buttons -->
</form>
@page
@model Open_Excel_File_.NET_Core.Pages.ExcelOpenerModel
<form method="post">
<table class="table table-bordered table-striped">
<!-- Bootstrap classes for tables -->
@for (int i = 0; i < Model.Data.Count; i++)
{
<tr>
@for (int j = 0; j < Model.Data[i].Count; j++)
{
<td>
<input type="text" class="form-control" name="Data[@i][@j]" value="@Model.Data[i][j]" /> <!-- Bootstrap class for form controls -->
</td>
}
</tr>
}
</table>
<input type="submit" class="btn btn-primary" value="Save" /> <!-- Bootstrap classes for buttons -->
</form>
IRON VB CONVERTER ERROR developers@ironsoftware.com
_Layout.cshtmlに、ページへのリンクがナビゲーションメニューに追加されます。 このリンクをクリックすると、Excelオープナーページに移動します。
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a>
</li>
Visual Studio で "Build" ボタンをクリックするか、Ctrl + Shift + B
ショートカットを使用してアプリケーションをビルドします。 Visual Studioで「スタート」ボタンをクリックするか、F5キーを押してアプリケーションを実行します。
アプリケーションが稼働している場合は、ナビゲーションバーの対応するリンクをクリックして「ExcelOpener」ページに移動してください。 ページは、Excelからのデータを表形式で表示します。
表のデータを変更し、「保存」ボタンをクリックして変更をExcelファイルに保存できます。
![ASP .NET CoreでExcelファイルを開く方法
図3: WebアプリケーションでExcelデータを表示](/static-assets/excel/blog/asp-net-core-open-excel-file-tutorial/asp-net-core-open-excel-file-tutorial-3.webp)
WebアプリケーションにExcelデータを表示
このチュートリアルでは、ASP.NET CoreアプリケーションでIronXLを使用してExcelファイルを開く方法を示しました。 IronXLは、Excelファイルの読み取りと操作を簡単かつ便利に行う方法を提供します。 IronXLのドキュメントを参照して、より高度な機能や機能性を探ることができます。
IronXLは、無料試用その機能を評価することができます。 プロジェクトに役立つと感じた場合は、$749からライセンスを購入することができます。
9つの .NET API製品 オフィス文書用