Таблицы в OneNote помогают организовать информацию, от заметок о встречах и журналов данных до быстрого сравнительного анализа. Существуют определенные случаи, когда вам нужно программно извлекать текст из таблицы в OneNote. Возможно, вы хотите проанализировать содержимое таблицы, перенести его в базу данных или преобразовать в другой формат.
В этом руководстве мы покажем вам, как извлекать текст из таблиц в OneNote с помощью C#. Вы научитесь получать текст из целой таблицы, одной строки или даже отдельной ячейки, используя простые и удобные примеры.
Давайте начнем.
Зачем извлекать текст из таблиц в OneNote?
Разработчики часто нуждаются в извлечении данных из таблиц OneNote для автоматизации, отчетности или интеграции с другими системами. Вот несколько примеров из реальной жизни:
- Экспортируйте краткие сведения о встречах в структурированные отчеты.
- Чтение табличных данных из совместных заметок для анализа.
- Синхронизируйте таблицы OneNote с внешними системами или панелями управления.
Вместо того чтобы вручную копировать данные, Aspose.Note for .NET позволяет вам обрабатывать все это с помощью кода быстро, последовательно и полностью автоматически.
Библиотека C# для извлечения текста из таблиц OneNote
Aspose.Note for .NET — это надежный API, который позволяет разработчикам создавать, читать, редактировать и конвертировать файлы OneNote в .NET-приложениях. Он поддерживает богатые объектные модели для доступа к элементам, таким как страницы, текст, изображения, контуры и таблицы. Для извлечения текста из таблиц он предоставляет класс Document, который представляет файл OneNote, и такие методы, как GetChildNodes(), позволяя разработчикам легко находить и извлекать элементы таблицы.
Вы можете скачать это со страницы испусканий Aspose.Note for .NET или установить его с помощью NuGet:
PM> Install-Package Aspose.Note
Как извлечь текст из таблиц в OneNote
Aspose.Note делает возможным извлечение текста из документов OneNote на разных уровнях:
- Вся таблица
- Определенная строка
- Отдельная клетка
Давайте пройдемся по каждому из этих шагов один за другим.

Пример таблицы
Чтобы узнать больше о извлечении текста и изображений из документов OneNote с использованием C#, ознакомьтесь с нашим подробным руководством по извлечению содержимого из файлов OneNote.
1. Извлечение текста из таблицы в OneNote с использованием C#
Мы можем легко извлечь текст из всех доступных таблиц в документе OneNote, используя Aspose.Note for .NET. Мы пройдем через процесс доступа к узлам таблицы, чтения их содержимого и отображения извлеченного текста в читаемом формате.
Следуйте приведенным ниже шагам, чтобы извлечь текст из таблиц в документе OneNote:
- Загрузите файл
.oneс использованием классаDocument. - Используйте метод
GetChildNodes<Table>(), чтобы извлечь все узлы таблицы. - Пройдите по каждой таблице и извлеките ее текстовое содержимое.
- Выведите результаты на консоль.
Следующий пример кода демонстрирует, как извлечь текст из всех таблиц в документе OneNote.
using Aspose.Note;
// Загрузите документ в Aspose.Note.
Document document = new Document("SampleTable.one");
// Получите список узлов таблицы
IList<Table> nodes = document.GetChildNodes<Table>();
// Установить количество столов
int tblCount = 0;
foreach (Table table in nodes)
{
tblCount++;
Console.WriteLine("Table # " + tblCount);
// Retrieve text
string text = string.Join(Environment.NewLine,
table.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;
// Print text on the output screen
Console.WriteLine(text);
}
Output
Table # 1
cell_1.1
cell_1.2
cell_1.3
cell_2.1
cell_2.2
cell_2.3
2. Извлечение текста из определенной строки в таблице OneNote
Иногда вам просто нужно извлечь текст из определенной строки, а не из всей таблицы. Мы будем проходить через все таблицы, затем через каждую строку, извлекая текст независимо. Это полезно, когда вам нужно анализировать или обрабатывать данные таблицы по строкам.
Вы можете извлекать текст строка за строкой, следуя приведенным ниже шагам:
- Загрузите файл OneNote, используя класс
Document. - Получите список узлов таблицы.
- Переберите каждую таблицу, затем каждую строку.
- Извлеките и отобразите текст из каждой строки.
Следующий пример кода показывает, как извлечь строку текста из таблицы, используя C#:
using Aspose.Note;
// Загрузите документ в Aspose.Note.
Document document = new Document("SampleTable.one");
// Получите список узлов таблицы
IList<Table> nodes = document.GetChildNodes<Table>();
// Установить количество строк
int rowCount = 0;
foreach (Table table in nodes)
{
// Итерация по строкам таблицы
foreach (TableRow row in table)
{
rowCount++;
// Retrieve text
string text = string.Join(Environment.NewLine,
row.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;
// Print text on the output screen
Console.WriteLine($"Row #{rowCount}:");
Console.WriteLine(text);
}
}
Output
Row #1:
cell_1.1
cell_1.2
cell_1.3
Row #2:
cell_2.1
cell_2.2
cell_2.3
3. Извлечение текста из конкретной ячейки таблицы
Если вы хотите углубиться еще больше и извлечь текст из определенной ячейки, вы можете сделать и это. Для этой цели мы получим наименьшую текстовую единицу, т.е. содержимое каждой ячейки. Это идеально подходит, когда вам нужен детальный контроль над извлечением данных для дальнейшей обработки или сопоставления данных.
Следуйте приведенным ниже шагам, чтобы извлечь текст из определенной ячейки в таблице в OneNote:
- Загрузите документ OneNote с помощью класса
Document. - Получить узлы таблицы с помощью
GetChildNodes<Table>(). - Пройдите по каждой таблице и её строкам.
- Извлечение узлов ячеек с помощью
GetChildNodes<TableCell>(). - Извлеките текст из каждой ячейки и отобразите его.
Следующий пример кода показывает, как получить текст ячейки из строки в таблице, используя C#:
using Aspose.Note;
// Загрузите документ в Aspose.Note.
Document document = new Document("SampleTable.one");
// Получите список узлов таблицы
IList<Table> nodes = document.GetChildNodes<Table>();
foreach (Table table in nodes)
{
// Итерировать по строкам таблицы
foreach (TableRow row in table)
{
// Получить список узлов TableCell
IList<TableCell> cellNodes = row.GetChildNodes<TableCell>();
// Итерируйте по ячейкам таблицы
foreach (TableCell cell in cellNodes)
{
// Retrieve text
string text = string.Join(Environment.NewLine,
cell.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;
// Print text on the output screen
Console.WriteLine(text);
}
}
}
Output
cell_1.1
cell_1.2
cell_1.3
cell_2.1
cell_2.2
cell_2.3
Почему использовать Aspose.Note for .NET для извлечения текста?
- Работает полностью в автономном режиме без использования Microsoft OneNote.
- Extracts text with formatting and structure preserved.
- Поддерживает все элементы таблицы (заголовки, ячейки, вложенные таблицы).
- Предлагает мощную поддержку LINQ для фильтрации и запроса содержимого.
- Простая интеграция с существующими .NET приложениями.
Будь то создание аналитических инструментов, сценариев автоматизации или пользовательских конвертеров заметок, Aspose.Note предоставляет вам необходимую гибкость и контроль.
Вы можете получить бесплатную временную лицензию на странице Aspose License Page, чтобы попробовать Aspose.Note for .NET без ограничений. Это займет всего минуту, и вы сможете протестировать все функции библиотеки.
Бесплатные дополнительные ресурсы
- Документация Aspose.Note for .NET
- API Reference
- Бесплатное приложение для просмотра OneNote
- Форум поддержки
Заключение
Извлечение текста из таблиц в OneNote не должно быть сложным. С помощью Aspose.Note for .NET вы можете легко получить текст из целых таблиц, отдельных строк или отдельных ячеек, используя всего лишь несколько строк кода на C#. API обрабатывает парсинг, управление узлами и обход контента, пока вы сосредотачиваетесь на использовании этих данных так, как вам нужно.
Если у вас есть какие-либо вопросы или вам нужна помощь с началом, посетите наш бесплатный форум поддержки, чтобы связаться с командой Aspose.Note.
Часто задаваемые вопросы
Q: Могу ли я извлечь текст из конкретной таблицы в моем документе OneNote?
Да, вы можете фильтровать узлы таблицы, используя LINQ или выбор на основе индекса, чтобы нацелиться на конкретные таблицы для извлечения.
Q: Нужно ли устанавливать Microsoft OneNote для использования Aspose.Note for .NET?
Нет, Aspose.Note for .NET работает независимо и не требует Microsoft OneNote или любого другого стороннего программного обеспечения.
Q: Сохраняет ли Aspose.Note for .NET структуру таблицы при извлечении текста?
Да, это сохраняет логическую структуру таблиц, позволяя извлекать содержимое из целых таблиц, строк или отдельных ячеек, сохраняя порядок.
Q: Могу ли я извлечь форматированный текст из таблицы OneNote?
Aspose.Note в основном извлекает простой текст. Однако вы можете получить доступ и обрабатывать объекты Rich Text, если вам нужны детали форматирования.
Q: Совместим ли Aspose.Note for .NET с .NET Core и .NET 6+?
Да, он поддерживает .NET Framework, .NET Core и последние версии .NET на Windows, Linux и macOS.
