如何在 C# 中将 Excel 转换为 HTML
Source: Dev.to
介绍
在网页上显示表格数据往往是一大挑战。虽然 Excel 电子表格在数据组织和分析方面功能强大,但其原生的 .xlsx 或 .xls 格式并不能直接被浏览器渲染。使用 C# 将 Excel 转换为 HTML 可以弥合丰富的 Excel 数据与网页友好格式之间的鸿沟。本指南展示如何使用 Spire.XLS for .NET 将 Excel 数据转换为干净、易访问的 HTML。
为什么要将 Excel 转换为 HTML?
- 网页展示 – HTML 是网页的原生语言,能够在 Web 应用、仪表盘或报告中无缝嵌入数据,无需客户端安装 Excel。
- 跨平台兼容 – HTML 在所有浏览器和操作系统上均可工作,确保任何人都能查看数据。
- 便于共享 – 当仅需查看时,单个 HTML 文件往往比 Excel 工作簿更方便分发。
- 减少客户端依赖 – 无需 Excel 查看器或插件,简化部署并提升用户体验。
- 常见使用场景 – 生成在线报告、数据驱动的网页、产品目录,或将财务数据集成到基于 Web 的投资组合跟踪器中。
安装 Spire.XLS for .NET
将 Spire.XLS 添加到 C# 项目最简单的方式是通过 NuGet:
Install-Package Spire.XLS
或者,在 NuGet 包管理器 GUI 中搜索 Spire.XLS 并进行安装。
将 Excel 文件转换为 HTML
项目设置
- 创建一个新的 C# 项目(例如控制台应用)。
- 添加对 Spire.XLS 的引用 (
using Spire.Xls;)。
核心步骤
- 加载工作簿 – 实例化
Workbook对象并调用LoadFromFile()。 - 保存为 HTML – 使用
SaveToFile()并传入FileFormat.Html枚举。
完整代码示例
using Spire.Xls;
using System;
using System.IO;
namespace ExcelToHtmlConverter
{
class Program
{
static void Main(string[] args)
{
// Path to your input Excel file
string excelFilePath = "SampleData.xlsx";
// Path for the output HTML file
string htmlFilePath = "OutputExcel.html";
// Create a Workbook object
Workbook workbook = new Workbook();
try
{
// Load the Excel file
workbook.LoadFromFile(excelFilePath);
// Save the entire workbook to an HTML file
workbook.SaveToFile(htmlFilePath, FileFormat.Html);
Console.WriteLine($"Successfully converted '{excelFilePath}' to '{htmlFilePath}'.");
}
catch (Exception ex)
{
Console.WriteLine($"An error occurred: {ex.Message}");
}
finally
{
// Dispose of the workbook object to release resources
workbook.Dispose();
}
Console.ReadKey(); // Keep console open
}
}
}
代码说明
Workbook workbook = new Workbook();– 初始化一个新的工作簿实例。workbook.LoadFromFile(excelFilePath);– 加载已有的 Excel 文件。workbook.SaveToFile(htmlFilePath, FileFormat.Html);– 将工作簿转换并保存为 HTML 文档。
将指定工作表保存为 HTML
如果只需要某一张工作表,可通过 workbook.Worksheets[index] 访问该表,然后使用 SaveToHtml() 并传入可选的 HTML 设置。
// Get the first worksheet
Worksheet sheet = workbook.Worksheets[0];
// Set HTML options (e.g., embed images)
HTMLOptions options = new HTMLOptions
{
ImageEmbedded = true // Embeds images directly into the HTML
};
// Save the sheet to an HTML file with options
using (FileStream fileStream = new FileStream("OutputSheet.html", FileMode.Create))
{
sheet.SaveToHtml(fileStream, options);
}
这种方式会生成一个包含嵌入式图片的独立 HTML 页面,适用于单独的网页。
结论
在 C# 中将 Excel 文件转换为 HTML 是让数据在网页上可访问的强大技术。Spire.XLS for .NET 简化了这一过程,提供了对整本工作簿或单个工作表转换的灵活选项。按照本指南的步骤操作,即可将 Excel 数据集成到 Web 应用、报告和仪表盘中,提升跨平台兼容性和用户体验。立即在你的项目中开始使用程序化的 Excel‑to‑HTML 转换吧。