在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
本教程将演示如何在使用 IronXL 库的 ASP.NET Core 应用程序中使用 IronXL 打开 Excel 文件。 它将涵盖读取 Excel 文件的基本步骤,然后从中显示数据并将修改后的数据保存回文件。
IronXLMicrosoft Excel 库是一个 .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 开发的集成开发环境(建议使用 Microsoft Visual Studio).
打开 Microsoft Visual Studio,选择 "创建新项目"。
从项目模板列表中选择 "ASP.NET Core Web App",然后单击 "下一步"。
为您的项目提供一个名称,例如 "Open_Excel_File_.NET_Core",选择一个位置,然后单击 "Next(下一步)"。
下一步是在这个新创建的项目中安装 IronXL 软件包:
右键单击解决方案资源管理器中的项目,选择 "管理 NuGet 包"。
在 "浏览 "选项卡中搜索 "IronXL",然后点击 "安装 "IronXL.Excel软件包。
在 NuGet 软件包管理器用户界面中搜索并安装 IronXL 软件包
等待软件包安装。
您的 ASP.NET Core 项目现已设置完毕,IronXL 库也已安装并准备就绪。
现在,让我们创建一个 Razor 页面,编写打开 Excel 文件的代码。
右键单击解决方案资源管理器中的 "页面 "文件夹,然后选择 "添加">"Razor 页面"。
输入 "ExcelOpener "作为页面名称,然后点击 "添加"。
创建新的 Razer 页面
这将创建两个文件: ExcelOpener.cshtml 和 ExcelOpener.cshtml.cs。
ExcelOpener.cshtml文件包含页面的 HTML 标记,ExcelOpener.cshtml.cs文件包含页面的 C# 代码背后。
让我们深入代码。 所提供的 ExcelOpenerModel
类是一个 Razor 页面模型。 该类有一个<List属性
Data`,用于存储从 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 文件并从默认工作表读取数据。(工作簿的第一张纸). 每一行用 "列表 "表示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 页面模型。 它包含一个名为 Data
的属性,其类型为 List<List<string>翻译时必须使用 >
,其中将包含 Excel 文件中的数据。
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])
:该方法设置指定行和列索引处单元格的值。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 提供了一种简单方便的方式来读取和处理 Excel 文件。 您可以浏览 IronXL 文档,了解更多高级特性和功能。
IronXL 提供了一个免费试用此外,译文还应让您能够评估这些工具的功能。 如果您觉得它对您的项目有用,您可以从 $749 起购买许可证。