使用 .NET API 编辑现有 HTML 表格

Aspose.HTML for .NET 可将现有 HTML 文件加载到 HTMLDocument 中。您可以使用 CSS 选择器定位表格,通过 DOM 更新单元格和样式、添加或删除行,并保存完整文档,而无需重建无关内容。


使用 C# 编辑 HTML 文件中的表格

以下示例打开 input.html,选择第一个表格,修改第一个数据单元格,追加一行,更新表格 CSS,并将结果保存为 edited-table.html。

编辑 HTML 表格的 C# 代码

using Aspose.Html;
using System;

// Load the HTML document that contains the table
using HTMLDocument document = new HTMLDocument("input.html");

// Select the first table and verify that it exists
HTMLTableElement table = (HTMLTableElement)document.QuerySelector("table");
if (table == null)
{
    throw new InvalidOperationException("The HTML document does not contain a table.");
}

// Update the first data cell when one is available
HTMLTableCellElement firstCell = (HTMLTableCellElement)table.QuerySelector("td");
if (firstCell != null)
{
    firstCell.TextContent = "Updated value";
}

// Append a row and populate its cells
HTMLTableRowElement newRow = (HTMLTableRowElement)table.InsertRow(table.Rows.Length);
string[] values = { "New item", "Ready" };
foreach (string value in values)
{
    HTMLTableCellElement cell = (HTMLTableCellElement)newRow.InsertCell(newRow.Cells.Length);
    cell.TextContent = value;
}

// Apply CSS without replacing the table's other attributes
table.Style.SetProperty("border", "1px solid #808080");
table.Style.SetProperty("border-collapse", "collapse");
table.Style.SetProperty("width", "100%");

// Save the complete modified document
document.Save("edited-table.html");

编辑 HTML 表格的步骤

  1. 使用 HTMLDocument 构造函数打开源文件。
  2. 使用 QuerySelector() 定位所需表格。如果文档包含多个表格,请使用 ID 或类选择器代替 table。
  3. 选择现有单元格并更新其 TextContent,无需替换表格的其余标记。
  4. 使用 InsertRow() 追加一行,再使用 InsertCell() 创建单元格。
  5. 通过表格的 Style 声明修改外观,并调用 Save() 写入完整的已编辑文档。

HTML 表格编辑选项

  • 选择正确的表格。 编辑包含多个表格的文档时,请使用 #orders、.price-table 或 main table 等选择器。
  • 修改现有内容。 更改单元格文本、属性、类和内联 CSS,无需重新创建表格或替换无关 HTML。
  • 调整表格结构。 通过表格 DOM 接口插入或删除行和单元格,同时保留它们在文档中的顺序。
  • 采用现代样式规则。 使用 CSS 属性控制边框、宽度、对齐和间距,而不是过时的表现型 HTML 属性。
  • 保留周围文档。 保存已加载的 HTMLDocument 会保留编辑表格之外的内容。若要单独保存选中的 <table> 元素及其标记,请参阅 提取 HTML 表格 。

HTML 表格编辑文档

请参阅 编辑 HTML 文档 ,了解查找、插入、更改和删除 DOM 节点的示例。 HTML DOM 文档介绍以编程方式修改 HTML 内容所使用的文档导航和元素模型。


安装 Aspose.HTML for .NET

使用 .NET CLI 从 NuGet 安装 Aspose.HTML for .NET :

dotnet add package Aspose.HTML

您也可以使用 NuGet 包管理器界面,或在包管理器控制台中运行 Install-Package Aspose.HTML。有关配置详情,请参阅 安装指南 ;如需不受评估版限制地测试 API,请申请 临时许可证 。


HTML 表格编辑常见问题

1. 页面包含多个表格时,如何编辑指定表格?

为目标表格设置稳定的 ID 或类,并将对应的 CSS 选择器传给 QuerySelector(),例如 [id="orders"] 或 .price-table。通用的 table 选择器只返回文档中的第一个表格。

2. 可以只修改一个单元格而不替换整个表格吗?

可以。选择所需的 <td> 或 <th> 元素,并为纯文本设置其 TextContent。如果单元格需要包含嵌套标记,请更新其 DOM 子节点,或仅对可信内容使用 InnerHTML。

3. 如何在 C# 中添加或删除 HTML 表格行?

使用所需行索引调用 InsertRow(),然后通过 InsertCell() 添加单元格。使用 DeleteRow() 删除行,并在修改结构前根据 Rows.Length 验证索引。

4. 表格外观应该用 HTML 属性还是 CSS 修改?

应使用 CSS 设置边框、宽度、对齐、间距、颜色和其他外观。align、border 和 cellspacing 等属性属于旧式表现型 HTML 模型,不应添加到现代标记中。

5. 保存已编辑表格时会保留 HTML 文档的其余部分吗?

会。如果将源文件加载到 HTMLDocument,只修改选定的表格节点并保存该文档,无关元素会保留在输出中。但主动替换父元素或其 InnerHTML 也会替换其后代节点。

相关 HTML 表格工作流

使用 Aspose.HTML for .NET 专题指南创建表格、提取完整标记或收集单元格值。