Como ler um documento do Word com formatação em C#
Documentos Microsoft Word são amplamente utilizados para diversos propósitos, desde relatórios empresariais formais até cartas pessoais. Em C#, os desenvolvedores frequentemente precisam gerar documentos Microsoft Word programaticamente. Desenvolvedores de aplicativos Windows tradicionalmente usaram o Microsoft Office Interop para gerar e criar documentos Word usando C#.
No entanto, essa abordagem não é acessível para todos, e desenvolvedores podem ser encontrados usando um OS ou em uma máquina Linux onde a interface do Microsoft Office não está disponível. Nesses casos, os desenvolvedores devem explorar outras bibliotecas que possam trabalhar de forma independente em diferentes plataformas. Uma dessas bibliotecas poderosas para trabalhar programaticamente com arquivos Word é IronWord, da Iron Software.
IronWord oferece funcionalidades robustas para trabalhar com documentos Word em aplicações .NET e pode rodar em diferentes plataformas e imagens/contenedores de docker baseados em Linux. Com o IronWord, que possui uma API intuitiva para C#, VB.NET Word e Documentos Docx, não é necessário instalar o Microsoft Office, automação do Office ou Interop do Word para criar, editar e exportar arquivos de documentos Word. O IronWord suporta totalmente .NET 8, 7, 6, Framework, Core e Azure.
Este artigo explorará a criação de documentos Word em C# usando a biblioteca IronWord.
How to Create Word Documents Without Office Interop in C#
- Crie um novo projeto em C#.
- Instale a biblioteca IronWord.
- Crie um documento Word usando a biblioteca IronWord.
- Adicione conteúdo ao documento agora existente.
- Salve o documento Word criado.
- Abra e exiba o documento Word criado.
Pré-requisitos:
- Visual Studio: Certifique-se de ter o Visual Studio ou qualquer outro ambiente de desenvolvimento C# instalado.
- NuGet Package Manager: Certifique-se de que você pode usar o NuGet para gerenciar pacotes em seu projeto.
Passo 1: Criar Um Novo Projeto C#
Crie um novo aplicativo de console C# ou use um projeto existente onde você quer gerar o documento Word.
Selecione o modelo de aplicativo de console e clique em próximo.

Na próxima etapa, você pode fornecer os nomes da solução e do projeto.

Selecione a Versão do .NET e clique em 'Criar'.

Passo 2: Instale a Biblioteca IronWord
Abra seu projeto C# e instale a biblioteca IronWord usando o Console do Gerenciador de Pacotes NuGet:
O pacote NuGet também pode ser instalado usando o Gerenciador de Pacotes do Visual Studio, conforme mostrado abaixo.

Passo 3: Crie e Salve um Documento Word usando a Biblioteca IronWord
Vamos começar com o simples exemplo de criar um documento Word usando a biblioteca IronWord. O código a seguir demonstra como criar um documento Word básico com um único parágrafo contendo o texto "Hello, World!"
using IronWord;
using IronWord.Models;
// Create a text run instance with "Hello, World!" content
TextRun textRun = new TextRun("Hello, World!");
// Create a paragraph and add the text run to it
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Create a new Word document object with the paragraph
WordDocument doc = new WordDocument(paragraph);
// Save the document as a .docx file
doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docxImports IronWord
Imports IronWord.Models
' Create a text run instance with "Hello, World!" content
Private textRun As New TextRun("Hello, World!")
' Create a paragraph and add the text run to it
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
' Create a new Word document object with the paragraph
Dim doc As New WordDocument(paragraph)
' Save the document as a .docx file
doc.SaveAs("example.docx") ' Saves the file to disk with the name example.docxApós executar o exemplo de código acima, o novo arquivo de documento, example.docx, é criado e a saída é conforme mostrado abaixo.

Este é um exemplo fundamental de geração de um arquivo de documento Word usando IronWord. Para mais informações, você pode ler a Documentação.
Adicionar Parágrafos com Estilo a um Documento Word
Agora que sabemos como criar um documento Word simples usando IronWord, vamos adicionar parágrafos e texto com estilo.
TextRun também pode receber dados de estilo, melhorando a representação visual do texto. O texto pode ser definido com estilos como tachado, negrito, itálico e sublinhado.
Modifique e adicione o código abaixo ao programa que você criou anteriormente.
using IronWord;
using IronWord.Models;
// Create text runs with different styles
TextRun textRun = new TextRun("Hello, World!"); // Simple string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Configure and add italic text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling.");
TextStyle italicStyle = new TextStyle()
{
IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle);
// Configure and add bold text
TextStyle boldStyle = new TextStyle()
{
IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle);
// Add text runs to the paragraph
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);
// Create and save the new Word document
WordDocument doc = new WordDocument(paragraph);
doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docxImports IronWord
Imports IronWord.Models
' Create text runs with different styles
Private textRun As New TextRun("Hello, World!") ' Simple string
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
' Configure and add italic text
Dim introText As New TextRun("This is an example paragraph with italic and bold styling.")
Dim italicStyle As New TextStyle() With {.IsItalic = True}
Dim italicText As New TextRun("Italic example sentence.", italicStyle)
' Configure and add bold text
Dim boldStyle As New TextStyle() With {.IsBold = True}
Dim boldText As New TextRun("Bold example sentence.", boldStyle)
' Add text runs to the paragraph
paragraph.AddTextRun(introText)
paragraph.AddTextRun(italicText)
paragraph.AddTextRun(boldText)
' Create and save the new Word document
Dim doc As New WordDocument(paragraph)
doc.SaveAs("example.docx") ' Saves the file to disk with the name example.docxAdicionar uma Tabela a um Documento Word
Para uma representação clara dos dados, eles também podem ser representados em uma grade. Quando os dados são organizados como uma grade, é chamado de tabela. Usando IronWord, podemos adicionar tabelas e imagens ao documento Word, conforme mostrado abaixo:
using IronWord;
using IronWord.Models;
// Create a table cell with sample text
TableCell cell = new TableCell();
TextRun textRun = new TextRun("Sample text");
// Add text run to the cell as a paragraph
cell.AddContent(new Paragraph(textRun));
// Configure cell border style
BorderStyle borderStyle = new BorderStyle
{
BorderColor = new IronColor(IronSoftware.Drawing.Color.Black),
BorderValue = IronWord.Models.Enums.BorderValues.Thick,
BorderSize = 5
};
// Set table borders
TableBorders tableBorders = new TableBorders
{
TopBorder = borderStyle,
RightBorder = borderStyle,
BottomBorder = borderStyle,
LeftBorder = borderStyle
};
cell.Borders = tableBorders;
// Create a table row and add cells to it
TableRow row = new TableRow();
row.AddCell(cell); // Add the first cell
row.AddCell(cell); // Add the second cell, duplicating to mimic a row with two identical cells
// Create a table and add the row to the table
Table table = new Table();
table.AddRow(row);
// Create and save a Word document using the table
WordDocument doc = new WordDocument(table);
doc.SaveAs("Document.docx"); // Saves the file to disk with the name Document.docxImports IronWord
Imports IronWord.Models
' Create a table cell with sample text
Private cell As New TableCell()
Private textRun As New TextRun("Sample text")
' Add text run to the cell as a paragraph
cell.AddContent(New Paragraph(textRun))
' Configure cell border style
Dim borderStyle As New BorderStyle With {
.BorderColor = New IronColor(IronSoftware.Drawing.Color.Black),
.BorderValue = IronWord.Models.Enums.BorderValues.Thick,
.BorderSize = 5
}
' Set table borders
Dim tableBorders As New TableBorders With {
.TopBorder = borderStyle,
.RightBorder = borderStyle,
.BottomBorder = borderStyle,
.LeftBorder = borderStyle
}
cell.Borders = tableBorders
' Create a table row and add cells to it
Dim row As New TableRow()
row.AddCell(cell) ' Add the first cell
row.AddCell(cell) ' Add the second cell, duplicating to mimic a row with two identical cells
' Create a table and add the row to the table
Dim table As New Table()
table.AddRow(row)
' Create and save a Word document using the table
Dim doc As New WordDocument(table)
doc.SaveAs("Document.docx") ' Saves the file to disk with the name Document.docxNo exemplo acima, adicionamos uma tabela a um documento Word usando bordas.
Adicionar Imagens a um Documento Word
Imagens melhoram a apresentação do documento e podem adicionar mais cores e apelo visual.
Imagens podem ser adicionadas programaticamente a um documento Word usando IronWord, conforme mostrado no código abaixo:
using IronWord;
using IronWord.Models;
// Load a new document
WordDocument doc = new WordDocument();
// Configure and add image to the document
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg")
{
Width = 200, // Set image width in pixels
Height = 200 // Set image height in pixels
};
Paragraph paragraph = new Paragraph();
paragraph.AddImage(image); // Add image to paragraph
doc.AddParagraph(paragraph); // Add paragraph to the document
// Save the document as a .docx file
doc.SaveAs("save_document.docx"); // Saves the file to disk with the name save_document.docxImports IronWord
Imports IronWord.Models
' Load a new document
Private doc As New WordDocument()
' Configure and add image to the document
Private image As New IronWord.Models.Image("SalesChart.jpg") With {
.Width = 200,
.Height = 200
}
Private paragraph As New Paragraph()
paragraph.AddImage(image) ' Add image to paragraph
doc.AddParagraph(paragraph) ' Add paragraph to the document
' Save the document as a .docx file
doc.SaveAs("save_document.docx") ' Saves the file to disk with the name save_document.docxAqui, estamos adicionando uma imagem usando IronWord.Models.Image com Altura e Largura de 200 pixels a um parágrafo.
Licenciamento (Teste Gratuito Disponível)
IronWord requer uma licença para uso. Obtenha uma chave de teste no site da Iron Software. Esta chave precisa ser colocada em appsettings.json.
{
"IronWord.LicenseKey": "IRONWORD.MYLICENSE.KEY.TRIAL"
}
Forneça seu e-mail para obter uma licença de avaliação. Após enviar seu ID de e-mail, a chave será entregue por e-mail.

Conclusão
Criar documentos Word em C# usando a biblioteca IronWord proporciona uma forma flexível e eficiente de gerar documentos sem depender do Microsoft Office. Seja para criar cartas simples ou relatórios complexos com tabelas e imagens, IronWord permite alcançar isso programaticamente. Este artigo fornece um tutorial abrangente sobre a criação de documentos Word. Com o IronWord, você tem o poder de automatizar a criação de documentos Word, tornando suas aplicações C# mais versáteis e produtivas.
E para os desenvolvedores que procuram manipulação de arquivos PDF para trabalhar em conjunto com seus documentos Word gerados, não procure mais além do IronPDF, outra biblioteca C# produzida pela Iron Software.

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

