Редактирование существующих HTML-таблиц через .NET API
Aspose.HTML for .NET
загружает существующий HTML-файл в объект
HTMLDocument
. Найдите таблицу с помощью CSS-селектора, измените её ячейки и стили через DOM, добавьте или удалите строки и сохраните полный документ, не создавая заново остальное содержимое.
Редактирование таблицы в HTML-файле на C#
В следующем примере открывается файл input.html, выбирается первая таблица, изменяется первая ячейка данных, добавляется строка, обновляется CSS таблицы и результат сохраняется в файл edited-table.html.
Код C# для редактирования HTML-таблицы
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-таблицу
- Откройте исходный файл с помощью конструктора
HTMLDocument. - Найдите нужную таблицу методом
QuerySelector(). Если документ содержит несколько таблиц, используйте селектор по ID или классу вместоtable. - Выберите существующую ячейку и измените её
TextContent, не заменяя остальную разметку таблицы. - Добавьте строку методом
InsertRow()и создайте ячейки методомInsertCell(). - Измените оформление через свойство
Styleтаблицы и вызовитеSave(), чтобы записать полный обновлённый документ.
Возможности редактирования HTML-таблиц
- Выбор нужной таблицы. Используйте селекторы
#orders,.price-tableилиmain table, если в документе находится несколько таблиц. - Изменение существующего содержимого. Обновляйте текст ячеек, атрибуты, классы и встроенные стили CSS без повторного создания таблицы и замены остального HTML.
- Изменение структуры таблицы. Добавляйте и удаляйте строки и ячейки через табличные DOM-интерфейсы с сохранением их порядка в документе.
- Современное оформление. Применяйте CSS для границ, ширины, выравнивания и отступов вместо устаревших атрибутов представления HTML.
- Сохранение окружающего содержимого. При сохранении загруженного
HTMLDocumentсодержимое за пределами изменённой таблицы остаётся в документе. Для извлечения полных элементов таблиц используйте руководство Извлечение HTML-таблиц .
Документация по редактированию HTML-таблиц
В руководстве Редактирование HTML-документа приведены примеры поиска, вставки, изменения и удаления DOM-узлов. Раздел HTML DOM объясняет навигацию по документу и модель элементов для программного изменения HTML-содержимого.
Установка Aspose.HTML for .NET
Установите Aspose.HTML for .NET из NuGet с помощью .NET CLI:
dotnet add package Aspose.HTML
Также можно использовать интерфейс диспетчера пакетов NuGet или выполнить Install-Package Aspose.HTML в консоли диспетчера пакетов. Подробные инструкции приведены в
руководстве по установке
. Чтобы протестировать API без ограничений ознакомительной версии, запросите
временную лицензию
.
Часто задаваемые вопросы о редактировании HTML-таблиц
1. Как изменить конкретную HTML-таблицу, если на странице их несколько?
Назначьте целевой таблице постоянный ID или класс и передайте соответствующий CSS-селектор, например [id="orders"] или .price-table, методу QuerySelector(). Общий селектор table возвращает только первую таблицу документа.
2. Можно ли изменить ячейку, не заменяя всю таблицу?
Да. Выберите нужный элемент <td> или <th> и задайте его TextContent для обычного текста. Если ячейка должна содержать вложенную разметку, измените её дочерние DOM-узлы или используйте InnerHTML с доверенным содержимым.
3. Как добавить или удалить строки HTML-таблицы на C#?
Вызовите InsertRow() с нужным индексом строки, а затем добавьте ячейки методом InsertCell(). Для удаления используйте DeleteRow() и предварительно проверьте индекс по значению Rows.Length.
4. Следует ли изменять оформление таблицы с помощью HTML-атрибутов или CSS?
Для границ, ширины, выравнивания, отступов, цветов и других параметров представления используйте CSS. Атрибуты align, border и cellspacing относятся к устаревшей модели оформления HTML и не подходят для современной разметки.
5. Сохраняется ли остальной HTML-документ при редактировании таблицы?
Да. Если загрузить исходный файл в HTMLDocument, изменить только выбранные узлы таблицы и сохранить этот документ, остальные элементы останутся в результате. Намеренная замена родительского элемента или его InnerHTML также заменит его дочерние узлы.
Связанные операции с HTML-таблицами
Создавайте таблицы, извлекайте полную разметку или получайте значения ячеек с помощью руководств Aspose.HTML for .NET.