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.

Hur man extraherar text från tabeller i OneNote: Exempel på tabell

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:

  1. Ladda .one-filen med Document-klassen.
  2. Använd GetChildNodes<Table>()-metoden för att hämta alla tabellnoder.
  3. Loopa genom varje tabell och extrahera dess textinnehåll.
  4. 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:

  1. Ladda OneNote-filen med hjälp av Document-klassen.
  2. Få en lista över tabellnoder.
  3. Loopa genom varje tabell, sedan genom varje rad.
  4. 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:

  1. Ladda OneNote-dokumentet med hjälp av Document-klassen.
  2. Hämta tabellnoder med GetChildNodes<Table>().
  3. Loopa igenom varje tabell och dess rader.
  4. Extrahera cellnoder med GetChildNodes<TableCell>().
  5. 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.

Se även