在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
本教程將演示如何使用IronXL庫在ASP.NET Core應用程式中開啟Excel文件。它將涵蓋讀取Excel文件的基本步驟,然後顯示來自其中的數據並將修改後的數據保存回文件。
IronXL 是一個 .NET Excel 程式庫,提供處理 Excel 文件的功能,而不需要 Microsoft Excel 或 Office Interop 依賴項。它支持 .NET Framework 和 .NET Core,提供了只需幾行程式碼即可寫入、操作和讀取 Excel 文件的功能。如需閱讀 Excel 文件的詳細教學,請參考這篇 Excel 教程.
IronXL 函式庫可以 讀取和寫入 Excel 文件, 提取資料 從中讀取資料、操作資料,甚至從頭開始創建新的 Excel 文件。IronXL 不僅支援 .XLS 格式,還支援 相容於 .XLSX它是由微軟開發的基於 XML 的文件格式,用於表示電子表格。
在進入代碼之前,請確保您擁有以下內容:
打開 Microsoft Visual Studio,選擇「建立新專案」。
從專案範本列表中選擇「ASP.NET Core Web App」,然後點擊「下一步」。
為你的專案提供一個名稱,例如「Open_Excel_File_.NET_Core」,選擇一個位置,然後點擊「下一步」。
下一步是在這個新創建的專案中安裝 IronXL 套件:
在「瀏覽」標籤中搜索「IronXL」,然後點擊 IronXL.Excel 套件的「安裝」。
**在 NuGet 套件管理器 UI 中搜索並安裝 IronXL 套件**
您的 ASP.NET Core 專案已設置完成,並且 IronXL 函式庫已安裝並可以使用。
現在,讓我們建立一個 Razor 頁面來編寫開啟 Excel 檔的程式碼。
輸入 "ExcelOpener" 作為頁面名稱,然後點擊 "Add"。
創建新的 Razer 頁面
這將創建兩個文件:ExcelOpener.cshtml 和 ExcelOpener.cshtml.cs。
ExcelOpener.cshtml 文件包含頁面的 HTML 標記,ExcelOpener.cshtml.cs 文件包含頁面的 C# 程式碼後端。
讓我們深入研究代碼。提供的 ExcelOpenerModel
類是一個 Razor Page 模型。這個類有一個 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<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(文件路徑)
:此方法從指定的文件路徑加載 Excel 文檔。 它有助於加載和閱讀 Excel 表。workbook.DefaultWorkSheet
:此屬性獲取預設 (第一) Excel 試算表中的 Excel 工作表。sheet.GetCellAt(i, j).Value.ToString()
: 這將獲取指定行和列索引的儲存格並將其值轉換為字串。這是一個索引方法的示例,可以根據行和列索引訪問Excel文件內特定的儲存格或範圍。在 ExcelOpener.cshtml.cs 文件中,一個名為 ExcelOpenerModel
的類代表了 Razor Page 模型。它包含一個名為 Data
的屬性,其類型為 List
<ListOnGet
方法,該方法負責從 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
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 中的 "Start" 按鈕來運行應用程式。
一旦應用程式運行,通過點擊導航欄中的相應連結導航到 "ExcelOpener" 頁面。該頁面將以表格式顯示 Excel 中的數據。
您可以修改表格中的數據,然後點擊 "Save" 按鈕將更改保存回 Excel 文件中。
在網路應用程式中顯示 Excel 資料
本教程演示了如何在 ASP.NET Core 應用程式中使用 IronXL 打開 Excel 文件。IronXL 提供了一種簡單而方便的方法來讀取和操作 Excel 文件。您可以瀏覽 IronXL 文件以了解更高級的功能和特性。
IronXL 提供了 免費試用,使您可以評估其功能。如果您覺得對您的專案有幫助,可以購買從 $Lite License
起的授權。