Tabeller i OneNote hjälper till att hålla information organiserad, från mötesanteckningar och datalogg till snabba jämförelsetabeller. Det finns vissa fall när du behöver programmässigt extrahera text från en tabell i OneNote. Kanske vill du analysera tabellinnehållet, flytta dem till en databas eller konvertera dem till ett annat format.
I den här guiden kommer vi att visa dig hur du extraherar text från tabeller i OneNote med hjälp av C#. Du kommer att lära dig hur man får text från en hel tabell, en enda rad eller till och med enskilda celler med hjälp av enkla, lättföljda exempel.
Låt oss börja.
Varför extrahera text från tabeller i OneNote?
Utvecklare behöver ofta extrahera data från OneNote-tabeller för automatisering, rapportering eller integration med andra system. Här är några verkliga exempel:
- Export meeting summaries into structured reports.
- Läs tabulär data från delade anteckningar för analys.
- Synkronisera OneNote-tabeller med externa system eller instrumentpaneler.
Istället för att manuellt kopiera data, låter Aspose.Note för .NET dig hantera allt detta genom kod på ett snabbt, konsekvent och helt automatiserat sätt.
C# Bibliotek för att extrahera text från OneNote-tabeller
Aspose.Note för .NET är en robust API som låter utvecklare skapa, läsa, redigera och konvertera OneNote-filer i .NET-applikationer. Den stöder rika objektmodeller för att få tillgång till element som sidor, text, bilder, dispositioner och tabeller. För textutvinning från tabeller tillhandahåller den klassen Document, som representerar en OneNote-fil, och metoder som GetChildNodes(), vilket möjliggör för utvecklare att enkelt lokalisera och extrahera tablelement.
Du kan ladda ner det från Aspose.Note för .NET releases page eller installera det med hjälp av NuGet:
PM> Install-Package Aspose.Note
Hur man extraherar text från tabeller i OneNote
Aspose.Note gör det möjligt att extrahera text från OneNote-dokument på olika nivåer:
- Hela tabellen
- En specifik rad
- En individuell cell
Låt oss gå igenom var och en av dessa steg för steg.

Sample Table
För att lära dig mer om hur man extraherar text och bilder från OneNote-dokument med C#, kolla in vår detaljerade guide om att extrahera innehåll från OneNote-filer.
1. Extrahera text från tabellen i OneNote med C#
Vi kan enkelt extrahera text från alla tillgängliga tabeller i ett OneNote-dokument med hjälp av Aspose.Note för .NET. Vi kommer att gå igenom processen att få åtkomst till tabellnoder, läsa deras innehåll och visa den extraherade texten i ett läsbart format.
Följ stegen nedan för att extrahera text från tabeller i ett OneNote-dokument:
- Ladda
.one-filen medDocument-klassen. - Använd
GetChildNodes<Table>()-metoden för att hämta alla tabellnoder. - Loopa genom varje tabell och extrahera dess textinnehåll.
- Skriv ut resultaten på konsolen.
Följande kodexempel visar hur man extraherar text från alla tabeller i ett OneNote-dokument.
using Aspose.Note;
// Ladda dokumentet i Aspose.Note.
Document document = new Document("SampleTable.one");
// Få en lista över tabellnoder
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. Extrahera text från en specifik rad i en OneNote-tabell
Ibland behöver du bara extrahera texten från en särskild rad istället för hela tabellen. Vi kommer att loopa igenom alla tabeller, sedan genom varje rad, och extrahera text oberoende. Det är användbart när du behöver analysera eller bearbeta tabelldata radvis.
Du kan extrahera text rad för rad genom att följa stegen nedan:
- Ladda OneNote-filen med hjälp av
Document-klassen. - Få en lista över tabellnoder.
- Loopa genom varje tabell, sedan genom varje rad.
- Extract and display text from each row.
Följande kodexempel visar hur man extraherar en rad text från en tabell med C#:
using Aspose.Note;
// Ladda dokumentet i Aspose.Note.
Document document = new Document("SampleTable.one");
// Få en lista över tabellnoder
IList<Table> nodes = document.GetChildNodes<Table>();
// Ställ in radantal
int rowCount = 0;
foreach (Table table in nodes)
{
// Iterera genom tabellrader
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. Extrahera text från en specifik cell i en tabell
Om du vill gå ännu djupare och extrahera text från en viss cell kan du göra det också. För detta ändamål kommer vi att hämta den minsta textenheten, dvs innehållet i varje cell. Det är perfekt när du behöver finjusterad kontroll över datautvinning för vidare bearbetning eller datakartläggning.
Följ stegen nedan för att extrahera text från en specifik cell i en tabell i OneNote:
- Ladda OneNote-dokumentet med hjälp av
Document-klassen. - Hämta tabellnoder med
GetChildNodes<Table>(). - Loopa igenom varje tabell och dess rader.
- Extrahera cellnoder med
GetChildNodes<TableCell>(). - Extract text from each cell and display it.
Följande kodexempel visar hur man får celltext från en rad i en tabell med C#:
using Aspose.Note;
// Ladda dokumentet i Aspose.Note.
Document document = new Document("SampleTable.one");
// Få en lista över tabellnoder
IList<Table> nodes = document.GetChildNodes<Table>();
foreach (Table table in nodes)
{
// Iterera genom tabellrader
foreach (TableRow row in table)
{
// Hämta lista över TableCell-noder
IList<TableCell> cellNodes = row.GetChildNodes<TableCell>();
// Iterera genom tabellceller
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
Varför använda Aspose.Note för .NET för textextraktion?
- Fungerar helt offline utan att använda Microsoft OneNote.
- Extracts text with formatting and structure preserved.
- Stöder alla tabell-element (huvuden, celler, inbäddade tabeller).
- Erbjuder stark LINQ-stöd för filtrering och förfrågning av innehåll.
- Enkel integration med befintliga .NET-applikationer.
Oavsett om du bygger analysverktyg, automatiseringsskript eller anpassade anteckningskonverterare, ger Aspose.Note dig den flexibilitet och kontroll du behöver.
Du kan få en gratis tillfällig licens från Aspose License Page för att prova Aspose.Note för .NET utan begränsningar. Det tar bara en minut att ansöka, och du kommer att kunna testa alla funktioner i biblioteket.
Gratis tilläggsresurser
Slutsats
Att extrahera text från tabeller i OneNote behöver inte vara komplicerat. Med Aspose.Note för .NET kan du enkelt hämta text från hela tabeller, specifika rader eller individuella celler med endast några få rader C#-kod. API:et hanterar analys, nodhantering och innehållsgenomgång medan du fokuserar på att använda dessa data på det sätt du behöver.
Om du har några frågor eller behöver hjälp med att komma igång, besök vårt gratis supportforum för att koppla upp dig mot Aspose.Note-teamet.
FAQs
Q: Kan jag extrahera text från en specifik tabell i mitt OneNote-dokument?
Ja, du kan filtrera tabellnoder med hjälp av LINQ eller indexbaserad urval för att rikta in dig på specifika tabeller för extraktion.
Q: Behöver jag ha Microsoft OneNote installerat för att använda Aspose.Note för .NET?
Nej, Aspose.Note för .NET fungerar oberoende och kräver inte Microsoft OneNote eller någon annan extern programvara.
Q: Bevarar Aspose.Note för .NET tabellstrukturen under textextraktion?
Ja, det bevarar den logiska strukturen i tabeller, vilket gör att du kan extrahera innehåll från hela tabeller, rader eller individuella celler samtidigt som ordningen upprätthålls.
Q: Kan jag extrahera formaterad text från en OneNote-tabell?
Aspose.Note extraherar främst vanlig text. Men du kan komma åt och bearbeta rika textobjekt om du behöver formateringsdetaljer.
Q: Är Aspose.Note för .NET kompatibelt med .NET Core och .NET 6+?
Ja, det stöder .NET Framework, .NET Core och de senaste .NET-versionerna på Windows, Linux och macOS.
