Como manipular um documento do Word usando C#
Na era atual, os documentos do Microsoft Word são sinônimos de trabalho de escritório e comunicação profissional e pessoal. Portanto, manipular programaticamente documentos Word é crucial para desenvolvedores que procuram automatizar tarefas para exibir aos usuários em suas aplicações. Embora existam muitas bibliotecas disponíveis, nem todas são tão robustas quanto as outras. No entanto, um contendor que se destaca dos demais é o IronWord. IronWord é uma biblioteca C# Word DOCX confiável e robusta, fácil de usar e entender, e que simplifica o trabalho com documentos Word.
Este artigo explorará como podemos utilizar rapidamente o IronWord para ler documentos Word com exemplos curtos.
How To Read a Word File Using C#
-
Crie uma Aplicação de Console no Visual Studio
-
Instale a biblioteca IronWord C# DOCX
-
Crie um novo documento Word usando a classe WordDocument
-
Adicione texto ao documento Word
-
Percorra cada parágrafo utilizando a classe Paragraph
-
Exiba o conteúdo
IronWord: A Biblioteca DOCX C#

IronWord é uma biblioteca flexível e escalável com uma API simples e fácil de usar que elimina a dificuldade de integrar documentos Word em aplicações. Quer você queira adicionar e integrar um documento Word de texto simples na sua aplicação ou criar tabelas e relatórios complexos para exibir aos usuários, o IronWord cobre tudo.
Aqui estão seus recursos mais notáveis:
-
Manipulação de Documentos: O IronWord permite que desenvolvedores manipulem documentos Word com facilidade. Quer os usuários queiram inserir parágrafos de texto ou estruturas mais complexas, como tabelas e imagens, o IronWord pode fazer tudo.
-
Suporte e Compatibilidade Multiplataforma: O IronWord é projetado para ser flexível e oferece suporte a desenvolvedores em várias plataformas. Ele suporta várias versões do .NET Core (8, 7, 6, 5 e 3.1+), .NET Standard (2.0+), .NET Framework (4.6.2+) e até mesmo Azure. Além disso, os desenvolvedores podem utilizar o IronWord em diferentes plataformas e sistemas, incluindo, mas não se limitando a, Windows, Linux, macOS e Android. Ele abrange as plataformas mais comuns e permite que os desenvolvedores construam aplicações multiplataforma rapidamente.
-
Independência do Microsoft Office: Um problema comum ao integrar documentos Word em aplicações .NET é que bibliotecas populares como Interop exigem uma instalação licenciada do Microsoft Office. No entanto, o IronWord alivia esse problema, sendo independente dessa restrição. Os desenvolvedores podem aproveitar totalmente o poder dos documentos Word sem serem restringidos pela licença e instalação do Microsoft Word.
-
Opções de Formatação: IronWord oferece amplo suporte para formatação e estilo, permitindo que os desenvolvedores tornem o documento único. Os desenvolvedores podem aplicar fontes ao seu texto, cores, alinhamentos e outros formatos complexos, como estilos de tabela.
-
Facilidade de Uso e Suporte Extensivo: Juntamente com uma API fácil de entender e chamadas de métodos diretas, o IronWord também fornece referências de API de extensão e exemplos de código para ajudar desenvolvedores a determinar a maneira mais ideal de utilizar o IronWord.
Criando um Novo Projeto de Console no Visual Studio
Antes de mergulharmos no exemplo, vamos começar criando um projeto de console em branco no Visual Studio.

Em seguida, fornecemos um nome e um local para salvar o projeto.

Em seguida, selecione o framework .NET que você usará. Neste exemplo, estarei usando .NET 8.0.

Após criar e configurar o novo projeto de console, vamos instalar nossa biblioteca de palavras C#, IronWord.
Instalando o IronWord
Existem duas maneiras de instalar o IronWord.
1. Instalando via Gerenciador de Pacotes NuGet
Para instalá-lo através do Gerenciador de Pacotes NuGet, clique em ferramentas e depois Manage NuGet Packages for Solution. Em seguida, procuramos por IronWord na barra de busca e instalamos **IronWord**.

2. Instalando via Console do Gerenciador de Pacotes NuGet
Um método alternativo é instalá-lo via Console do Gerenciador de Pacotes NuGet. Para isso, execute o seguinte comando no console:
Chave de licença
Por favor, note que o IronWord não funciona sem uma chave de licença; você pode obter uma aqui como parte de um teste gratuito.
Após obter uma chave de teste, certifique-se de que esta variável esteja definida em seu projeto.
// Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";' Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"Reading Word Documents in C#
Após instalar os pré-requisitos, demonstraremos a simplicidade de ler um documento do Microsoft Word usando IronWord no código a seguir.
Primeiro, importamos os namespaces necessários. Usando IronWord, criamos um novo documento e adicionamos texto de exemplo. Em seguida, acessamos os parágrafos e textos usando o objeto WordDocument para imprimir o texto dentro do documento Word.
using IronWord;
using IronWord.Models;
#region Licensing
// Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE";
#endregion
// Create text run with sample text
Text textRunExample = new Text("Sample text");
// Create a paragraph and add the text run to it
Paragraph paragraphExample = new Paragraph();
paragraphExample.AddChild(textRunExample);
// Create a new Word document with the paragraph
WordDocument doc = new WordDocument(paragraphExample);
// Export the document as a DOCX file
doc.SaveAs("document.docx");
// Access paragraphs and text runs within the document
foreach (Paragraph paragraph in doc.Paragraphs)
{
foreach (Text textRun in paragraph.Texts)
{
// Access text content
string content = textRun.Text;
// Display the content to the console
Console.WriteLine(content);
}
}Imports IronWord
Imports IronWord.Models
#Region "Licensing"
' Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE"
'#End Region
' Create text run with sample text
Dim textRunExample As New Text("Sample text")
' Create a paragraph and add the text run to it
Dim paragraphExample As New Paragraph()
paragraphExample.AddChild(textRunExample)
' Create a new Word document with the paragraph
Dim doc As New WordDocument(paragraphExample)
' Export the document as a DOCX file
doc.SaveAs("document.docx")
' Access paragraphs and text runs within the document
For Each paragraph As Paragraph In doc.Paragraphs
For Each textRun As Text In paragraph.Texts
' Access text content
Dim content As String = textRun.Text
' Display the content to the console
Console.WriteLine(content)
Next textRun
Next paragraphVamos explorar os métodos e parâmetros para ler arquivos Word do código acima.
-
Primeiro, criamos um objeto Text e atribuímos a ele a string "Texto de exemplo".
-
Em seguida, instanciamos um objeto Paragraph e adicionamos o "textRunExample" a ele.
-
Também instanciamos um objeto WordDocument, nomeamos como
WordDocument doc,e passamos oparagraphExamplepara ele criar um novo documento Word contendo o parágrafo. -
O código salva o documento Word com o nome de arquivo "document.docx" para uso posterior.
-
Para acessar os parágrafos no documento Word que acabamos de criar, acessamos a propriedade "Paragraphs" do objeto WordDocument. A propriedade "Paragraphs" é uma lista. Portanto, chamamos um loop foreach para iterar por ela.
-
Para obter o texto dentro do parágrafo, acessamos a propriedade "Texts" de Paragraphs. Isso também retorna uma lista de Text.
-
Finalmente, atribuímos o Text a uma variável de string chamada "content" e o imprimimos no console.
Saída do Console

Reading an existing Word document in C#
No exemplo anterior, criamos um novo documento Word programaticamente e lemos seu conteúdo. Podemos seguir etapas similares para ler um documento Word existente fazendo algumas alterações no código.
Documento de Entrada

using IronWord;
using IronWord.Models;
#region Licensing
// Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE";
#endregion
// Load an existing Word document
WordDocument doc = new WordDocument("existing_document.docx");
// Access paragraphs and text runs within the document
foreach (Paragraph paragraph in doc.Paragraphs)
{
foreach (Text textRun in paragraph.Texts)
{
// Access text content
string content = textRun.Text;
// Display the content to the console
Console.WriteLine(content);
}
}Imports IronWord
Imports IronWord.Models
#Region "Licensing"
' Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE"
'#End Region
' Load an existing Word document
Dim doc As New WordDocument("existing_document.docx")
' Access paragraphs and text runs within the document
For Each paragraph As Paragraph In doc.Paragraphs
For Each textRun As Text In paragraph.Texts
' Access text content
Dim content As String = textRun.Text
' Display the content to the console
Console.WriteLine(content)
Next textRun
Next paragraphA principal diferença entre os dois exemplos é o parâmetro passado para o objeto WordDocument. Em vez de criar um novo documento, carregamos um arquivo Word existente nele. O restante é o mesmo que o outro exemplo.
Saída do Console

Conclusão
Ao longo dos exemplos, demonstramos como é simples usar a biblioteca IronWord para manipular e ler documentos Word programaticamente em C#. A flexibilidade e escalabilidade da biblioteca IronWord fazem dela uma ferramenta valiosa que permite aos desenvolvedores usar IronWord em exemplos práticos e reais, como preencher templates, gerar relatórios e processar documentos em lote. Entender como o Word integra-se com aplicações é valioso, pois oferece aos desenvolvedores mais soluções para seus problemas.
Além disso, os desenvolvedores podem testar os amplos recursos do IronWord por um período antes de comprar, pois oferece uma licença de teste gratuito. Junto com a facilidade de uso, o IronWord também vem com documentação completa e suporte 24/5 para desenvolvedores, aliviando o sofrimento constante que os desenvolvedores podem enfrentar diante da produção. Também oferecemos vários tutoriais e uma gama de exemplos de código para referência e ajudar você a começar com IronWord.
Após testar vários aspectos do IronWord usando uma licença de teste, você pode adquirir nossa licença de desenvolvedor Lite que começa em $599 e vai desde Lite até Professional. Por favor, consulte nossa página de licenciamento para mais informações.

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.
Artigos relacionados

