Таблиці в 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 releases page або встановити його за допомогою NuGet:

PM> Install-Package Aspose.Note

Як витягти текст з таблиць в OneNote

Aspose.Note дозволяє витягувати текст з документів OneNote на різних рівнях:

  • Вся таблиця
  • A specific row
  • Окрема клітина

Давайте пройдемося через кожен з цих етапів крок за кроком.

Як витягнути текст з таблиць у OneNote: Приклад таблиці

Sample Table

Щоб дізнатися більше про вилучення тексту та зображень з документів OneNote за допомогою C#, ознайомтеся з нашим детальним посібником з вилучення вмісту з файлів OneNote.

1. Витягти текст з таблиці в OneNote за допомогою C#

Ми можемо легко витягувати текст з усіх доступних таблиць у документі OneNote, використовуючи Aspose.Note for .NET. Ми пройдемо через процес доступу до вузлів таблиць, читання їхнього вмісту та відображення витягнутого тексту в читабельному форматі.

Слідуйте наведеним крокам, щоб витягти текст з таблиць в документі OneNote:

  1. Завантажте файл .one за допомогою класу Document.
  2. Використайте метод GetChildNodes<Table>(), щоб отримати всі вузли таблиці.
  3. Перегляньте кожну таблицю та витягніть її текстовий вміст.
  4. Виведіть результати в консоль.

Наступний приклад коду демонструє, як витягнути текст з усіх таблиць у документі OneNote.

using Aspose.Note;

// Завантажте документ у Aspose.Note.
Document document = new Document("SampleTable.one");

// Отримати список вузлів таблиці
IList<Table> nodes = document.GetChildNodes<Table>();

// Set table count
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

Іноді вам просто потрібно витягнути текст із конкретного рядка, а не з усієї таблиці. Ми пройдемо через усі таблиці, а потім через кожен рядок, витягуючи текст незалежно. Це корисно, коли потрібно аналізувати або обробляти дані таблиці по рядках.

Ви можете витягувати текст ряд за рядом, дотримуючись наведених нижче кроків:

  1. Завантажте файл OneNote, використовуючи клас Document.
  2. Отримати список вузлів таблиці.
  3. Перейдіть через кожну таблицю, а потім через кожен рядок.
  4. Extract and display text from each row.

Наступний приклад коду показує, як витягти рядок тексту з таблиці, використовуючи 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:

  1. Завантажте документ OneNote, використовуючи клас Document.
  2. Отримати вузли таблиці, використовуючи GetChildNodes<Table>().
  3. Переберіть кожну таблицю та її рядки.
  4. Витягніть вузли комірок, використовуючи GetChildNodes<TableCell>().
  5. Extract text from each cell and display it.

Наступний приклад коду показує, як отримати текст клітинки з рядка в таблиці, використовуючи 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 без обмежень. Це займе лише хвилину, щоб подати заявку, і ви зможете протестувати всі можливості бібліотеки.

Безкоштовні додаткові ресурси

Висновок

Витягування тексту з таблиць у OneNote не повинно бути складним. З Aspose.Note for .NET ви можете легко отримати текст з усіх таблиць, конкретних рядків або окремих комірок, використовуючи всього кілька рядків коду C#. API обробляє парсинг, управління вузлами та перебір вмісту, поки ви зосереджуєтеся на використанні цих даних так, як вам потрібно.

Якщо у вас є будь-які запитання або вам потрібна допомога з початком, відвідайте наш безкоштовний форум підтримки, щоб зв’язатися з командою Aspose.Note.

FAQs

Q: Чи можу я витягти текст з конкретної таблиці у своєму документі OneNote?

Так, ви можете фільтрувати вузли таблиці, використовуючи LINQ або вибір на основі індексу, щоб націлити конкретні таблиці для витягування.

Q: Чи потрібно мені встановлювати Microsoft OneNote для використання Aspose.Note for .NET?

Ні, Aspose.Note for .NET працює незалежно і не вимагає Microsoft OneNote або будь-якого іншого зовнішнього програмного забезпечення.

Q: Чи зберігає Aspose.Note for .NET структуру таблиці під час вилучення тексту?

Так, він зберігає логічну структуру таблиць, дозволяючи вам витягати вміст з цілих таблиць, рядків або окремих клітин, зберігаючи порядок.

Q: Can I extract formatted text from a OneNote table?

Aspose.Note переважно витягує простий текст. Проте, ви можете отримати доступ до об’єктів з обробленим текстом та обробляти їх, якщо вам потрібні деталі форматування.

Q: Чи сумісний Aspose.Note for .NET з .NET Core та .NET 6+?

Так, він підтримує .NET Framework, .NET Core та останні версії .NET на Windows, Linux і macOS.

See Also