在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
本教程將展示如何在 ASP.NET Core 應用程式中使用 IronXL 庫開啟 Excel 文件。 它將涵蓋讀取 Excel 文件的基本步驟,然後顯示其中的數據並將修改後的數據保存回文件。
IronXL是一個 .NET Excel 庫,提供操作 Excel 文件的功能,無需 Microsoft Excel 或 Office Interop 依賴。 它支持 .NET Framework 和 .NET Core,僅需幾行程式碼即可撰寫、操作和讀取 Excel 檔案的功能。 如需有關讀取 Excel 文件的詳細教程,請參閱此內容Excel 教程.
IronXL 庫可以讀取和寫入 Excel 文件, 提取資料從中提取數據、操作數據,甚至從零開始創建新的 Excel 文件。 IronXL 不僅支持 .XLS 格式,還支持相容於 .XLSX它是由微軟開發的基於 XML 的文件格式,用於表示電子表格。
在深入研究代碼之前,請確保您具備以下內容:
安裝 .NET Core 3.1 或更高版本。
適合 .NET 開發的 IDE(推薦使用 Microsoft Visual Studio).
打開 Microsoft Visual Studio,然後選擇「建立新專案」。
從專案範本列表中選擇「ASP.NET Core Web App」,然後點擊「下一步」。
為您的專案提供一個名稱,例如 "Open_Excel_File_.NET_Core",選擇一個位置,然後點擊“下一步”。
下一步是在這個新創建的專案中安裝IronXL套件:
在解決方案總管中右鍵點擊專案,然後選擇「管理 NuGet 套件」。
在「瀏覽」標籤中,搜尋「IronXL」並點擊「安裝」以安裝 IronXL.Excel 套件。
在 NuGet 包管理器 UI 中搜尋並安裝 IronXL 套件
等待套件安裝完成。
您的 ASP.NET Core 專案現已設置完畢,並且 IronXL 庫已安裝且準備就緒。
現在,讓我們建立一個 Razor 頁面來撰寫開啟 Excel 檔案的程式碼。
在解決方案總管中右鍵點擊「Pages」資料夾,然後選擇「新增」>「Razor Page」。
輸入「ExcelOpener」作為頁面名稱,然後點擊「新增」。
建立新的 Razer 頁面
這將創建兩個文件:ExcelOpener.cshtml 和 ExcelOpener.cshtml.cs。
ExcelOpener.cshtml 文件包含頁面的 HTML 標記,而 ExcelOpener.cshtml.cs 文件包含頁面的 C# 後置代碼。
讓我們深入研究程式碼。 提供的 ExcelOpenerModel
類別是一個 Razor 頁面模型。 這個類別有一個 List
<List用於儲存從 Excel 文件讀取的數據的
Data` 屬性。
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(文件路徑)
:此方法從指定的文件路徑載入 Excel 文件。 它有助於加載和閱讀 Excel 表格。workbook.DefaultWorkSheet
:此屬性獲取默認的(第一)Excel試算表中的Excel工作表。在 ExcelOpener.cshtml.cs 檔案中,一個名為 ExcelOpenerModel
的類別代表 Razor Page 模型。 它包含一個名為 Data
的屬性,類型為 List
<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, 資料[我][j])
:此方法設定位於指定列和欄索引的儲存格值。workbook.SaveAs(文件路徑)
: 此方法將 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
快捷鍵來建置應用程式。 按下 F5 或在 Visual Studio 中點擊「開始」按鈕來執行應用程式。
一旦應用程式運行,請點擊導航列中的相應連結以導航到 "ExcelOpener" 頁面。 該頁面將以表格格式顯示來自 Excel 的數據。
您可以修改表格中的資料,然後點擊「保存」按鈕將更改儲存回 Excel 文件。
在網路應用程式中顯示 Excel 數據
本教程演示了如何在 ASP.NET Core 應用程式中使用 IronXL 打開 Excel 文件。 IronXL 提供了一種簡單且方便的方式來讀取和操作 Excel 文件。 您可以探索 IronXL 文件以了解更多進階功能和特性。
IronXL 提供一個免費試用,讓您評估其功能。 如果您發現對您的項目有用,您可以購買價格從 $749 開始的許可證。