在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
本教程将演示如何在使用 IronXL 库的 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,这是一种由Microsoft开发的用于表示电子表格的XML格式文件。
在深入研究代码之前,请确保您具备以下条件:
已安装 .NET Core 3.1 或更高版本。
适用于.NET开发的合适IDE(推荐使用Microsoft Visual Studio)。
打开 Microsoft Visual Studio,选择 "创建新项目"。
从项目模板列表中选择 "ASP.NET Core Web App",然后单击 "下一步"。
为您的项目提供一个名称,例如 "Open_Excel_File_.NET_Core",选择一个位置,然后单击 "Next(下一步)"。
下一步是在这个新创建的项目中安装 IronXL 软件包:
右键单击解决方案资源管理器中的项目,选择 "管理 NuGet 包"。
在“浏览”选项卡中,搜索“IronXL”并点击“安装”以获取IronXL.Excel包。
在NuGet包管理器UI中搜索并安装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<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(filepath)
:此方法从指定的文件路径加载 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, 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
快捷键来构建应用程序。 按 F5 或单击 Visual Studio 中的 "开始 "按钮运行应用程序。
应用程序运行后,点击导航栏中的相应链接,导航至 "ExcelOpener "页面。 页面将以表格形式显示 Excel 中的数据。
您可以修改表格中的数据,然后单击 "保存 "按钮将更改保存回 Excel 文件。
在网页应用程序中显示Excel数据
本教程演示了如何在 ASP.NET Core 应用程序中使用 IronXL 打开 Excel 文件。 IronXL.Excel 提供了一种简单方便的方式来读取和处理 Excel 文件。 您可以浏览 IronXL 文档,了解更多高级特性和功能。
IronXL 提供免费试用,让您评估其功能。 如果您发现它对您的项目有用,您可以购买从$749起的许可证。