Tabele w OneNote pomagają w zachowaniu informacji w porządku, od notatek ze spotkań i dzienników danych po szybkie arkusze porównań. Istnieją pewne przypadki, w których musisz programowo wyodrębnić tekst z tabeli w OneNote. Może chcesz przeanalizować zawartość tabeli, przenieść ją do bazy danych lub przekształcić w inny format.
W tym poradniku pokażemy, jak wyodrębnić tekst z tabel w OneNote za pomocą C#. Nauczysz się, jak uzyskać tekst z całej tabeli, pojedynczego wiersza, a nawet z indywidualnej komórki, używając prostych, łatwych do naśladowania przykładów.
Zacznijmy.
Dlaczego wyodrębniać tekst z tabel w OneNote?
Programiści często muszą wyodrębnić dane z tabel OneNote w celu automatyzacji, raportowania lub integracji z innymi systemami. Oto kilka przykładów z rzeczywistego świata:
- Eksportuj podsumowania spotkań do uporządkowanych raportów.
- Przeczytaj dane tabelaryczne z udostępnionych notatek do analizy.
- Synchronizuj tabele OneNote zewnętrznymi systemami lub pulpitami nawigacyjnymi.
Zamiast ręcznie kopiować dane, Aspose.Note for .NET pozwala na obsługę tego wszystkiego za pomocą kodu w szybki, spójny i w pełni zautomatyzowany sposób.
C# Biblioteka do Ekstrakcji Tekstu z Tabel OneNote
Aspose.Note for .NET to solidne API, które umożliwia programistom tworzenie, odczytywanie, edytowanie i konwertowanie plików OneNote w aplikacjach .NET. Obsługuje bogate modele obiektowe do uzyskiwania dostępu do elementów takich jak strony, tekst, obrazy, kontury i tabele. W celu ekstrakcji tekstu z tabeli, zapewnia klasę Document, która reprezentuje plik OneNote, oraz metody takie jak GetChildNodes(), umożliwiające programistom łatwe lokalizowanie i ekstrakowanie elementów tabeli.
Możesz to pobrać ze strony Aspose.Note for .NET releases page lub zainstalować za pomocą NuGet:
PM> Install-Package Aspose.Note
Jak wyodrębnić tekst z tabel w OneNote
Aspose.Note umożliwia ekstrakcję tekstu z dokumentów OneNote na różnych poziomach:
- Cała tabela
- A specific row
- Pojedyncza komórka
Przejdźmy przez każdy z tych kroków krok po kroku.

Sample Table
Aby dowiedzieć się więcej o wyodrębnianiu tekstu i obrazów z dokumentów OneNote za pomocą C#, zapoznaj się z naszym szczegółowym guide on extracting content from OneNote files.
1. Wyodrębnij tekst z tabeli w OneNote przy użyciu C#
Możemy łatwo wyodrębnić tekst ze wszystkich dostępnych tabel w dokumencie OneNote, używając Aspose.Note for .NET. Przejdziemy przez proces uzyskiwania dostępu do węzłów tabel, odczytywania ich zawartości i wyświetlania wyodrębnionego tekstu w czytelnej formie.
Postępuj zgodnie z poniższymi krokami, aby wyodrębnić tekst z tabel w dokumencie OneNote:
- Załaduj plik
.oneza pomocą klasyDocument. - Użyj metody
GetChildNodes<Table>(), aby pobrać wszystkie węzły tabeli. - Przejdź przez każdą tabelę i wyodrębnij jej zawartość tekstową.
- Drukuj wyniki na konsoli.
Następny przykład kodu pokazuje, jak wyodrębnić tekst ze wszystkich tabel w dokumencie OneNote.
using Aspose.Note;
// Załaduj dokument do Aspose.Note.
Document document = new Document("SampleTable.one");
// Get a list of table nodes
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. Wyciągnij tekst z konkretnego wiersza w tabeli OneNote
Czasami musisz po prostu wyodrębnić tekst z konkretnego wiersza zamiast z całej tabeli. Będziemy przechodzić przez wszystkie tabele, a następnie przez każdy wiersz, niezależnie wyodrębniając tekst. Jest to użyteczne, gdy musisz analizować lub przetwarzać dane z tabeli na poziomie wierszy.
Możesz wyodrębnić tekst wiersz po wierszu, postępując zgodnie z poniższymi krokami:
- Załaduj plik OneNote za pomocą klasy
Document. - Get a list of table nodes.
- Przejdź przez każdą tabelę, a następnie przez każdy wiersz.
- Wyodrębnij i wyświetl tekst z każdego wiersza.
Następujący przykład kodu pokazuje, jak wyodrębnić wiersz tekstu z tabeli za pomocą C#:
using Aspose.Note;
// Załaduj dokument do Aspose.Note.
Document document = new Document("SampleTable.one");
// Uzyskaj listę węzłów tabeli
IList<Table> nodes = document.GetChildNodes<Table>();
// Ustaw liczbę wierszy
int rowCount = 0;
foreach (Table table in nodes)
{
// Przejdź przez wiersze tabeli
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. Wyodrębnij tekst z konkretnej komórki w tabeli
Jeśli chcesz jeszcze bardziej zagłębić się i wyodrębnić tekst z konkretnej komórki, możesz to zrobić. W tym celu pobierzemy najmniejszą jednostkę tekstową, tzn. zawartość każdej komórki. To idealne, gdy potrzebujesz szczegółowej kontroli nad wydobywaniem danych do dalszego przetwarzania lub mapowania danych.
Postępuj zgodnie z poniższymi krokami, aby wyodrębnić tekst z konkretnej komórki w tabeli w programie OneNote:
- Załaduj dokument OneNote za pomocą klasy
Document. - Pobierz węzły tabeli za pomocą
GetChildNodes<Table>(). - Przejdź przez każdą tabelę i jej wiersze.
- Ekstrakuj węzły komórek za pomocą
GetChildNodes<TableCell>(). - Wyodrębnij tekst z każdej komórki i wyświetl go.
Następujący przykład kodu pokazuje, jak uzyskać tekst komórki z wiersza w tabeli za pomocą C#:
using Aspose.Note;
// Załaduj dokument do Aspose.Note.
Document document = new Document("SampleTable.one");
// Get a list of table nodes
IList<Table> nodes = document.GetChildNodes<Table>();
foreach (Table table in nodes)
{
// Iteruj przez wiersze tabeli
foreach (TableRow row in table)
{
// Pobierz listę węzłów TableCell
IList<TableCell> cellNodes = row.GetChildNodes<TableCell>();
// Iterate through table cells
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
Dlaczego warto używać Aspose.Note for .NET do ekstrakcji tekstu?
- Działa całkowicie offline, nie wykorzystując Microsoft OneNote.
- Extracts text with formatting and structure preserved.
- Obsługuje wszystkie elementy tabeli (nagłówki, komórki, zagnieżdżone tabele).
- Oferuje silne wsparcie dla LINQ do filtrowania i zapytań o treści.
- Łatwa integracja z istniejącymi aplikacjami .NET.
Niezależnie od tego, czy tworzysz narzędzia analityczne, skrypty automatyzacji, czy niestandardowe konwertery notatek, Aspose.Note daje Ci elastyczność i kontrolę, których potrzebujesz.
Możesz uzyskać darmową tymczasową licencję z Aspose License Page, aby wypróbować Aspose.Note for .NET bez ograniczeń. To tylko minuta, aby złożyć wniosek, a będziesz mógł przetestować pełne funkcje biblioteki.
Darmowe Dodatkowe Zasoby
Wnioski
Ekstrakcja tekstu z tabel w OneNote nie musi być skomplikowana. Dzięki Aspose.Note for .NET możesz łatwo uzyskać tekst z całych tabel, konkretnych wierszy lub pojedynczych komórek, używając zaledwie kilku linijek kodu C#. API zajmuje się analizowaniem, zarządzaniem węzłami i przeszukiwaniem treści, podczas gdy ty koncentrujesz się na wykorzystaniu tych danych w sposób, w jaki potrzebujesz.
Jeśli masz jakieś pytania lub potrzebujesz pomocy w rozpoczęciu, odwiedź nasze darmowe forum wsparcia, aby połączyć się z zespołem Aspose.Note.
FAQs
Q: Czy mogę wyodrębnić tekst z określonej tabeli w moim dokumencie OneNote?
Tak, możesz filtrować węzły tabeli za pomocą LINQ lub wyboru opartego na indeksach, aby skierować się do konkretnych tabel do ekstrakcji.
Q: Czy muszę mieć zainstalowany Microsoft OneNote, aby używać Aspose.Note for .NET?
Nie, Aspose.Note for .NET działa niezależnie i nie wymaga Microsoft OneNote ani żadnego innego zewnętrznego oprogramowania.
Q: Czy Aspose.Note for .NET zachowuje strukturę tabeli podczas ekstrakcji tekstu?
Tak, zachowuje logiczną strukturę tabel, pozwalając na wyodrębnienie treści z całych tabel, wierszy lub pojedynczych komórek przy zachowaniu porządku.
Q: Can I extract formatted text from a OneNote table?
Aspose.Note przede wszystkim wyodrębnia zwykły tekst. Jednak można uzyskać dostęp i przetwarzać obiekty tekstu sformatowanego, jeśli potrzebujesz szczegółów dotyczących formatowania.
Q: Czy Aspose.Note for .NET jest zgodny z .NET Core i .NET 6+?
Tak, obsługuje .NET Framework, .NET Core i najnowsze wersje .NET na systemy Windows, Linux i macOS.
