在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
本教程将演示如何使用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的用于表示电子表格的文件格式。
在深入代码之前,请确保您拥有以下内容:
3.对 ASP.NET Core 和 Razor Pages 有基本了解。
1.打开 Microsoft Visual Studio,选择 "创建新项目"。
2.从项目模板列表中选择 "ASP.NET Core Web App",然后点击 "下一步"。
3.提供项目名称,例如 "Open_Excel_File_.NET_Core",选择位置,然后单击 "Next"(下一步)。
4.选择".NET Core "作为目标框架,"ASP.NET Core 3.1 或更高 "作为版本。在 "项目模板 "部分,选择 "Web Application "并点击 "Create(创建)"。
下一步是在这个新创建的项目中安装 IronXL 包:
在 “浏览” 标签中, 搜索 “IronXL” 并点击 IronXL.Excel 包的 “安装”按钮。
在NuGet包管理器用户界面中搜索并安装IronXL包
您的ASP.NET Core项目现已设置完毕,IronXL库已安装并可以使用。
现在,让我们创建一个 Razor 页面来编写打开 Excel 文件的代码。
输入 "ExcelOpener" 作为页面名称并点击 "添加"。
创建一个新的Razer页面
这将创建两个文件:ExcelOpener.cshtml 和 ExcelOpener.cshtml.cs。
ExcelOpener.cshtml 文件包含页面的HTML标记,ExcelOpener.cshtml.cs 文件包含页面的C#代码后端。
让我们深入代码。所提供的 ExcelOpenerModel
类是一个 Razor 页面模型。该类有一个 List<List<string>>
属性 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 文件并从默认工作表读取数据。 (工作簿的第一张纸).每一行表示为一个 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 工作表。在 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, 数据[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中点击“构建”按钮或使用Ctrl + Shift + B
快捷键来构建应用程序。按F5或者点击Visual Studio中的“开始”按钮来运行应用程序。
一旦应用程序运行起来,点击导航栏中的相应链接,导航到“ExcelOpener”页面。页面将以表格格式显示来自Excel的数据。
您可以在表格中修改数据,并点击“保存”按钮将更改保存回Excel文件。
在Web应用程序中显示Excel数据
本教程演示了如何在ASP.NET Core应用程序中使用IronXL打开Excel文件。IronXL提供了一种简单方便的方式来读取和操作Excel文件。您可以浏览IronXL文档,了解更多高级功能。
IronXL提供了 免费试用,让您可以评估其功能。如果您觉得它对您的项目有用,您可以从 $749 起购买许可证。