透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
このチュートリアルでは、IronXLライブラリを使用してASP.NET CoreアプリケーションでExcelファイルを開く方法を示します。 Excelファイルを読み取り、そこからデータを表示し、変更されたデータをファイルに保存する基本的な手順をカバーします。
IronXL は、Microsoft Excel や Office Interop の依存関係を必要とせずに、Excel ドキュメントを操作する機能を提供する .NET 用の Excel ライブラリです。 それは、.NET Frameworkと.NET Coreの両方をサポートしており、ほんの数行のコードでExcelファイルの作成、操作、読み取りが可能です。 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ページを作成する
これにより、ExcelOpener.cshtml と ExcelOpener.cshtml.cs の2つのファイルが作成されます。
ExcelOpener.cshtml ファイルにはページの HTML マークアップが含まれており、ExcelOpener.cshtml.cs ファイルにはページ用の C# バックエンドコードが含まれています。
コードに飛び込みましょう。 提供されたExcelOpenerModel
クラスは、Razorページモデルです。 このクラスには、Excelファイルから読み取ったデータを格納するために使用されるData
プロパティとしてList<List<string>>
が含まれています。
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<string>
として表され、これらのリストはすべて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(filepath)
: このメソッドは、指定されたファイルパスからExcelドキュメントを読み込みます。 それはExcelシートの読み込みと読み取りを助けます。workbook.DefaultWorkSheet
: このプロパティは、Excelスプレッドシート内のデフォルト(最初)のExcelワークシートを取得します。sheet.GetCellAt(i, j).Value.ToString()
: 指定された行と列のインデックスでセルを取得し、その値を文字列に変換します。 これは、行と列のインデックスに基づいてExcelファイル内の特定のセルまたは範囲にアクセスできるインデックスメソッドの例です。ExcelOpener.cshtml.cs ファイルでは、ExcelOpenerModel
というクラスがRazorページモデルを表しています。 Excelファイルのデータを保持するList<List<string>>
型のData
という名前のプロパティが含まれています。
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, Data[i][j])
:このメソッドは、指定された行および列のインデックスにセルの値を設定します。workbook.SaveAs(filepath)
: このメソッドは、Excel ワークブックを指定されたファイルパスに保存します。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ファイルに保存できます。
WebアプリケーションでExcelデータを表示する
このチュートリアルでは、ASP.NET CoreアプリケーションでIronXLを使用してExcelファイルを開く方法を示しました。 IronXLは、Excelファイルの読み取りと操作を簡単かつ便利に行う方法を提供します。 IronXLのドキュメントを参照して、より高度な機能や機能性を探ることができます。
IronXLはその機能を評価するための無料トライアルを提供しています。 プロジェクトに役立つ場合は、$749からのライセンスを購入できます。