跳至页脚内容
使用IRONPDF

如何在ASP.NET中创建PDF

Microsoft Excel 是一种电子表格软件,用于存储和组织数据,并以各种格式呈现。 由于其有用的公式,它广泛用于金融数据。 IronXL 软件库可用于在 C# 中导入和读取 Excel 文件。

IronXL - Excel 库

IronXL - .NET Excel 库 是一个 .NET Excel 库,优先考虑其用户的易用性、准确性和速度。 它帮助您高效地导入和读取 Excel 文档,并创建和编辑 Excel 文件,其性能极快。 它无需 MS Office Interop。这意味着即使没有安装 Excel,它也提供所有功能来读取 Excel 文件。 这使得 IronXL 成为开发人员在 C# 中导入和读取 Excel 文件的强大工具。

IronXL 可在所有平台上使用,如 Windows、Linux、macOS、Docker、Azure 和 AWS。 它与所有 .NET 框架兼容。 IronXL 是一个多功能库,可以集成到控制台、桌面和 Web ASP.NET 应用程序中。 它支持不同的工作簿格式,如 XLS 和 XLSX 文件、XSLT 和 XLSM、CSV 和 TSV。

一些重要功能

  • 打开、读取 Excel 文件,并从不同的电子表格格式中搜索数据,如 XLS/CSV/TSV/XLSX 文件。
  • 将 Excel 工作表导出为 XLS/XLSX/CSV/TSV/JSON。
  • 通过密码加密和解密 XLSM/XLTX/XLSX 文件。
  • 将 Excel 表格导入为 System.Data.DataSetSystem.Data.DataTable 对象。
  • 每次编辑表格时,Excel 文件公式都会重新计算。
  • 具有 WorkSheet["A1:B10"] 易用语法的直观单元格范围设置。
  • 排序单元格范围、列和行。
  • 单元格样式 - 字体、字体大小、背景颜色、边框、对齐方式和编号格式。

如何在 C# 中导入 Excel 工作簿

前提条件

要在 C# 中使用 IronXL 读取 Excel 文件,第一步是确保在本地计算机上安装以下组件:

  1. Visual Studio - 它是开发 C# .NET 应用程序的官方 IDE。 您可以从 Visual Studio 下载页面下载并安装 Visual Studio。
  2. IronXL - 它是帮助在 C# 中处理 Excel 表格的库。 在使用前,必须在 C# 程序中安装。 IronXL 可以从 IronXL NuGet 包或 Visual Studio 工具中的管理 NuGet 包进行下载。 您还可以从 Iron Software 的网站下载 .NET Excel DLL

添加必要的命名空间

一旦安装了 Visual Studio 和 IronXL,应该在源代码中包含 IronXL 的程序集引用以使用 IronXL。 在新项目的文件顶部添加以下代码行,其中将使用 IronXL 功能:

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

在 C# 中打开现有 Excel 文件

Microsoft Excel 电子表格也称为 Excel 工作簿。 每个工作簿包含多个工作表,而单个工作表包含其值的表格单元格。 要 使用 IronXL 打开和读取 Excel 文件,应使用 IronXL 库中的 WorkBook 类和 Load 方法加载。 代码如下

// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
' Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
$vbLabelText   $csharpLabel

这将打开工作簿实例引用变量中的 Excel 文件。 由于它可以有多个工作表,因此可以用于打开特定工作表或同时打开所有工作表。 以下代码在 sheet 实例变量中打开第一个 WorkSheet

WorkSheet sheet = workbook.WorkSheets.First();
WorkSheet sheet = workbook.WorkSheets.First();
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText   $csharpLabel

这将打开 Excel 文件的第一个工作表,现在可以从该工作表中读取和写入 Excel 数据。

已打开 Excel 文件

如何在 ASP .NET 中创建 PDF,图1:Excel 文件 Excel 文件

从导入的 Excel 文件读取数据

Excel 文件导入后,即可读取数据。 使用 IronXL 在 C# 中读取 Excel 文件数据非常简单容易。 您可以通过简单指定单元格引用编号来读取 Excel 单元格值。

下面的代码检索具有引用编号 "C2" 的单元格的值:

// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);
// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);
' Select cells easily in Excel-notation and return the value
Dim cellValue As Integer = sheet("C2").IntValue

' Display the value
Console.WriteLine(cellValue)
$vbLabelText   $csharpLabel

译文如下:

如何在 ASP .NET 中创建 PDF,图2:读取 Excel 读取 Excel

Now, let's read data from a range of cells in the opened Excel file. 代码如下

// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from a range of cells elegantly.
For Each cell In sheet("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

代码非常简单、干净和清晰。 单元格范围可以用简单的语法引用,如在 foreach 循环中所示:sheet["A2:A6"],每个单元格都可以使用 foreach 循环进行迭代以获取其值。 在这里,您将在控制台输出中看到从第2行到第6行的 A 列中的名称:

如何在 ASP .NET 中创建 PDF,图3:读取单元格范围 读取单元格范围

有关读取和写入单元格值的更多详细信息,请查看关于 在 C# 中读取 Excel 文件 的教程。

从 Excel 文件导入所有数据

IronXL 可用于一次性读取 Excel 表格,使用行和列索引。 以下 IronXL 代码示例有助于在控制台输出中以相同格式获取整个 Excel 文件数据:

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the value as a string
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the value as a string
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}
Imports Microsoft.VisualBasic

Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' Traverse all rows of Excel WorkSheet
For i As Integer = 0 To sheet.Rows.Count() - 1
	' Traverse all columns of specific Row
	For j As Integer = 0 To sheet.Columns.Count() - 1
		' Get the value as a string
		Dim val As String = sheet.Rows(i).Columns(j).Value.ToString()
		Console.Write("{0}" & vbTab, val)
	Next j
	Console.WriteLine()
Next i
$vbLabelText   $csharpLabel

输出文件

如何在 ASP .NET 中创建 PDF,图4:读取 Excel 文件的控制台输出 读取 Excel 文件的控制台输出

摘要

在本文中,我们学习了如何在没有安装 Microsoft Excel 的情况下在 C# 中导入和读取 Excel 文件。 然后我们考虑了多种从 Excel 电子表格中读取数据的方法。 IronXL 还帮助在没有任何 Excel 安装的情况下在 C# 创建 Excel 文件。

IronXL 提供了一种一体化解决方案,用于以编程方式实现所有与 MS Excel 文档相关的任务。 您可以执行公式计算、字符串或数字排序、去除和附加、查找和替换、合并和取消合并、保存文件等。您可以编辑单元格值,还可以设置单元格数据格式以及验证电子表格数据。 它还支持 CSV 文件,帮助您处理类似 Excel 的数据。

免费试用 IronXL 并探索其功能。 它可以通过 Lite 套餐进行商业用途 授权,起价仅为 $799。

常见问题解答

如何在不丢失格式的情况下从 ASP.NET 应用程序创建 PDF?

您可以使用 IronPDF 从 ASP.NET 应用程序创建 PDF,同时保留原始格式。IronPDF 确保 HTML 内容的布局和样式在生成的 PDF 中准确呈现。

在 C# Web 应用程序中,如何最佳地将 HTML 转换为 PDF?

IronPDF 是在 C# Web 应用程序中将 HTML 转换为 PDF 的绝佳选择。它提供诸如 RenderHtmlAsPdf 之类的方法,将 HTML 字符串和网页转换为高质量的 PDF 文档。

是否可以在不使用第三方插件的情况下在 ASP.NET 中生成 PDF?

是的,使用 IronPDF,您可以在 ASP.NET 应用程序中生成 PDF,而无需依赖第三方插件或外部软件。IronPDF 直接集成到您的应用程序中以处理 PDF 创建。

如何在 C# 中从 HTML 转换为 PDF 时确保 PDF 布局的准确性?

IronPDF 提供了对 PDF 布局和格式的精确控制,当在 C# 中将 HTML 转换为 PDF 时,它保留 CSS 样式、分页和媒体查询,以确保输出与原始设计相匹配。

可以使用 IronPDF 加密和保护 PDF 文档吗?

是的,IronPDF 提供加密和保护 PDF 文档的功能。您可以应用密码保护并设置权限,以控制对 PDF 文件的访问和编辑能力。

IronPDF 支持哪些平台进行 PDF 生成?

IronPDF 支持在多个平台上生成 PDF,包括 Windows、Linux、macOS、Docker、Azure 和 AWS,使其适合各种部署环境。

在 ASP.NET 中从 HTML 创建 PDF 时如何处理图像?

使用 IronPDF 时,HTML 内容中的图像会在转换过程中自动嵌入到 PDF 中。它支持各种图像格式,确保它们在最终文档中正确呈现。

是否可以在 ASP.NET 应用程序中自动化 PDF 创建?

绝对可以,IronPDF 允许在 ASP.NET 应用程序中自动化 PDF 创建。您可以根据应用程序中的事件或特定条件安排或触发 PDF 生成。

IronPDF 是否完全支持 .NET 10 的 ASP.NET 和其他 .NET 项目类型?

是的。IronPDF 完全兼容 .NET 10。它支持所有现代 .NET 版本,包括 .NET 10,并适用于 Web、桌面、控制台、Blazor 和 MAUI 项目。您可以像在之前的 .NET 版本中一样使用相同的 API,例如ChromePdfRendererRenderHtmlAsPdf和异步方法。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。