Tabelas no OneNote ajudam a manter as informações organizadas, desde notas de reuniões e registros de dados até planilhas de comparação rápidas. Existem certos casos em que você precisa extrair programaticamente texto de uma tabela no OneNote. Talvez você queira analisar o conteúdo da tabela, movê-lo para um banco de dados ou convertê-lo para outro formato.
Neste guia, mostraremos como extrair texto de tabelas no OneNote usando C#. Você aprenderá como obter texto de uma tabela inteira, uma única linha ou até mesmo uma célula individual usando exemplos simples e fáceis de seguir.
Vamos começar.
Por que extrair texto de tabelas no OneNote?
Os desenvolvedores frequentemente precisam extrair dados de tabelas do OneNote para automação, relatórios ou integração com outros sistemas. Aqui estão alguns exemplos do mundo real:
- Exportar resumos de reuniões em relatórios estruturados.
- Leia dados tabulares das notas compartilhadas para análise.
- Sincronize tabelas do OneNote com sistemas ou painéis externos.
Em vez de copiar dados manualmente, o Aspose.Note for .NET permite que você gerencie tudo isso por meio de código de uma maneira rápida, consistente e totalmente automatizada.
Biblioteca C# para Extrair Texto de Tabelas do OneNote
Aspose.Note for .NET é uma API robusta que permite aos desenvolvedores criar, ler, editar e converter arquivos OneNote em aplicativos .NET. Ela suporta modelos de objetos ricos para acessar elementos como páginas, texto, imagens, esboços e tabelas. Para extração de texto de tabelas, ela fornece a classe Document, que representa um arquivo OneNote, e métodos como GetChildNodes(), permitindo que os desenvolvedores localizem e extraiam facilmente os elementos da tabela.
Você pode baixá-lo na página de lançamentos do Aspose.Note for .NET ou instalá-lo usando NuGet:
PM> Install-Package Aspose.Note
Como Extrair Texto de Tabelas no OneNote
Aspose.Note torna possível extrair texto de documentos do OneNote em diferentes níveis:
- A tabela inteira
- Uma linha específica
- Uma célula individual
Vamos passar por cada um desses passos.

Sample Table
Para saber mais sobre como extrair texto e imagens de documentos do OneNote usando C#, confira nosso guia sobre a extração de conteúdo de arquivos OneNote.
1. Extrair texto da tabela no OneNote usando C#
Podemos facilmente extrair texto de todas as tabelas disponíveis em um documento do OneNote usando Aspose.Note for .NET. Vamos passar pelo processo de acesso aos nós da tabela, leitura de seu conteúdo e exibição do texto extraído em um formato legível.
Siga os passos abaixo para extrair texto de tabelas em um documento do OneNote:
- Carregue o arquivo
.oneusando a classeDocument. - Utilize o método
GetChildNodes<Table>()para recuperar todos os nós da tabela. - Percorra cada tabela e extraia seu conteúdo de texto.
- Imprima os resultados no console.
O seguinte exemplo de código mostra como extrair texto de todas as tabelas em um documento do OneNote.
using Aspose.Note;
// Carregue o documento no Aspose.Note.
Document document = new Document("SampleTable.one");
// Obtenha uma lista de nós da tabela
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. Extrair Texto de uma Linha Específica em uma Tabela do OneNote
Às vezes, você só precisa extrair o texto de uma linha específica em vez de toda a tabela. Vamos percorrer todas as tabelas, depois cada linha, extraindo texto de forma independente. É útil quando você precisa analisar ou processar dados de tabela linha por linha.
Você pode extrair texto linha por linha seguindo os passos abaixo:
- Carregue o arquivo OneNote usando a classe
Document. - Get a list of table nodes.
- Percorra cada tabela, depois cada linha.
- Extrair e exibir texto de cada linha.
O seguinte exemplo de código mostra como extrair uma linha de texto de uma tabela usando C#:
using Aspose.Note;
// Carregue o documento no Aspose.Note.
Document document = new Document("SampleTable.one");
// Obtenha uma lista de nós de tabela
IList<Table> nodes = document.GetChildNodes<Table>();
// Definir contagem de linhas
int rowCount = 0;
foreach (Table table in nodes)
{
// Iterar através das linhas da tabela
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. Extrair Texto de uma Célula Específica em uma Tabela
Se você quiser ir ainda mais fundo e extrair texto de uma célula específica, também pode fazer isso. Para esse propósito, iremos recuperar a menor unidade de texto, ou seja, o conteúdo de cada célula. É perfeito quando você precisa de um controle detalhado sobre a extração de dados para processamento ou mapeamento de dados.
Siga os passos abaixo para extrair texto de uma célula específica em uma tabela no OneNote:
- Carregue o documento do OneNote usando a classe
Document. - Recupere os nós da tabela usando
GetChildNodes<Table>(). - Percorra cada tabela e suas linhas.
- Extraia nós de célula usando
GetChildNodes<TableCell>(). - Extrair texto de cada célula e exibi-lo.
O seguinte exemplo de código mostra como obter o texto da célula de uma linha em uma tabela usando C#:
using Aspose.Note;
// Carregue o documento no Aspose.Note.
Document document = new Document("SampleTable.one");
// Obtenha uma lista de nós de tabela
IList<Table> nodes = document.GetChildNodes<Table>();
foreach (Table table in nodes)
{
// Iterar através das linhas da tabela
foreach (TableRow row in table)
{
// Obter lista de nós TableCell
IList<TableCell> cellNodes = row.GetChildNodes<TableCell>();
// Iterar através das células da tabela
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
Por que usar Aspose.Note for .NET para extração de texto?
- Funciona completamente offline sem utilizar o Microsoft OneNote.
- Extracts text with formatting and structure preserved.
- Suporta todos os elementos da tabela (cabeçalhos, células, tabelas aninhadas).
- Oferece forte suporte a LINQ para filtragem e consulta de conteúdo.
- Integração fácil com aplicativos .NET existentes.
Seja você criando ferramentas de análise, scripts de automação ou conversores de notas personalizados, o Aspose.Note oferece a flexibilidade e o controle que você precisa.
Você pode obter uma licença temporária gratuita na Aspose License Page para experimentar o Aspose.Note for .NET sem limitações. Leva apenas um minuto para se inscrever, e você poderá testar todos os recursos da biblioteca.
Recursos Adicionais Gratuitos
- Documentação do Aspose.Note for .NET
- Referência da API
- Aplicativo Gratuito de Visualizador OneNote
- Fórum de Suporte
Conclusão
Extrair texto de tabelas no OneNote não precisa ser complicado. Com o Aspose.Note for .NET, você pode facilmente obter texto de tabelas inteiras, linhas específicas ou células individuais usando apenas algumas linhas de código C#. A API lida com parsing, gerenciamento de nós e travessia de conteúdo enquanto você se concentra em usar esses dados da maneira que precisar.
Se você tiver alguma dúvida ou precisar de ajuda para começar, visite nosso free support forum para se conectar com a equipe do Aspose.Note.
FAQs
Q: Posso extrair texto de uma tabela específica no meu documento do OneNote?
Sim, você pode filtrar nós de tabela usando LINQ ou seleção baseada em índice para direcionar tabelas específicas para extração.
Q: Preciso ter o Microsoft OneNote instalado para usar o Aspose.Note for .NET?
Não, Aspose.Note for .NET funciona de forma independente e não requer o Microsoft OneNote ou qualquer outro software externo.
Q: O Aspose.Note for .NET preserva a estrutura da tabela durante a extração de texto?
Sim, ele preserva a estrutura lógica das tabelas, permitindo que você extraia conteúdo de tabelas inteiras, linhas ou células individuais enquanto mantém a ordem.
Q: Posso extrair texto formatado de uma tabela do OneNote?
Aspose.Note extrai principalmente texto simples. No entanto, você pode acessar e processar objetos de texto formatado se precisar de detalhes de formatação.
A: O Aspose.Note for .NET é compatível com .NET Core e .NET 6+?
Sim, suporta .NET Framework, .NET Core e as versões mais recentes do .NET em Windows, Linux e macOS.
