Instale um FileFormat.words de fonte aberta para .NET, aprenda a ler o arquivo DOCX em C# programaticamente. Esta API oferece métodos para criar um visualizador de arquivo do Word.

Como faço para abrir um arquivo docx em C#

Visão geral {.wp-block-heading} Não é fácil criar software de negócios que lida com a criação e manipulação de arquivos imensamente. As horas de tempo e homem são fatores críticos, mas optar por bibliotecas relevantes de terceiros desempenham um papel vital na fase de desenvolvimento. Portanto, vamos passar por uma biblioteca .NET de código aberto que oferece uma ampla gama de métodos para manipular os arquivos Word programaticamente. Essa API não apenas permite criar/editar arquivos do Word, mas também pode ler os arquivos de negócios/docs de negócios. Estamos falando sobre FileFormat.words é um pacote completo de recursos necessários para processar documentos do Word Programmataticamente. No entanto, esta postagem do blog responderá à sua pergunta (ou seja, Como abrir um arquivo DOCX em C#? ). Além disso, você poderá criar um leitor de arquivo do Word até o final deste artigo. Abordaremos os seguintes pontos deste guia:

Visualizador de arquivo do Word - Instalação da API

Visite este link para passar pelo processo de instalação em detalhes. Caso contrário, é muito fácil de instalar, se você pode instalá -lo usando seu NUGET PACOTE ou executando o seguinte comando no Nuget Package Manager.

Install-Package FileFormat.Words

Como faço para abrir um arquivo docx em C#

Depois que esta API .NET de código aberto estiver instalado, você pode começar a escrever o código imediatamente. Vamos criar um componente do leitor de arquivo do Word para o seu software de negócios. Existem vários métodos e propriedades para ler um arquivo DOCX/DOCS, mas usaremos alguns métodos/propriedades proeminentes. Você pode seguir as etapas a seguir e o trecho de código:

  • Inicialize uma instância da classe Document e carregue o arquivo docx/docs.
  • Instanciar um objeto da classe do corpo.
  • Invoque o método getDocumentTables.count () que retorna o número total de tabelas em um documento.
  • A propriedade getDocumentTables retorna as propriedades da tabela.
  • A propriedade EXISTINGTableHeader retorna os cabeçalhos da tabela.
  • Ligue para a propriedade númerofrows para acessar as linhas de tabela.
  • Use a propriedade númerofcolumns para buscar o número de colunas.
  • Acesse o número de células usando a propriedade NumberOfCells.
  • A propriedade Tableborder é usada para ler o estilo de fronteira.
  • Use a propriedade TablePosition para obter a posição da tabela.
  • Invoque o método Extractimages fromDocument para obter todas as imagens de um documento do Word.
  • Ligue para o método getParagraphs para recuperar todos os parágrafos do documento.
  • A propriedade Linessing é usada para conhecer o espaçamento entre as linhas.
  • A propriedade Recent é usada para conhecer o valor do indentação.
  • Obtenha o texto do parágrafo chamando a propriedade de texto.
using FileFormat.Words;
using FileFormat.Words.Table;
namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialize an instance of the Document class and load the Docx/Docs file. 
            using (Document doc1 = new Document("/Docs.docx"))
            {
                // Instantiate an object of the Body class.
                Body body1 = new Body(doc1);
                // Invoke the getDocumentTables method that returns the total number of tables in a document.
                Console.WriteLine("Total Number of Tables " + body1.getDocumentTables.Count());
                int i = 0;
                // The getDocumentTables property returns the table properties.
                foreach (Table props in body1.getDocumentTables)
                {
                    // The ExistingTableHeaders property returns the table headers.
                    foreach (string tableHeader in props.ExistingTableHeaders)
                    {
                        i++;
                        Console.WriteLine("Header"+i+": "+tableHeader);
                    }
                    // Call NumberOfRows property to access the table rows.
                    Console.WriteLine("Number of rows "+props.NumberOfRows);
                    // Use NumberOfColumns property to fetch number of columns.
                    Console.WriteLine("Number of columns " + props.NumberOfColumns);
                    // Access the number of cells using NumberOfCells property.
                    Console.WriteLine("Number of cells " + props.NumberOfCells);
                    Console.WriteLine("Cell width " + props.CellWidth);
                    // The TableBorder property is used to read the border style.
                    Console.WriteLine("Border style " + props.TableBorder);
                    // Use the TablePosition property to get the position of the table.
                    Console.WriteLine("Table position " + props.TablePosition);
                    Console.WriteLine(" ");
                }

                // Invoke the ExtractImagesFromDocument method to get all the images from a Word document.
                List<Stream> imageParts = Image.ExtractImagesFromDocument(doc1);
                int imageCount = imageParts.Count;
                Console.WriteLine($"Total number of images: {imageCount}");
                // Call the GetParagraphs method to retrieve all the document paragraphs.
                List<Paragraph> paras = body1.GetParagraphs();

                Console.WriteLine("The number of Paragraphs " + paras.Count());
                foreach (Paragraph p in paras)
                {
                    // The LinesSpacing property is used to know the spacing between the lines.
                    Console.WriteLine("Line spacing "+p.LinesSpacing);
                    // The Indent property is used to know the value of indentation.
                    Console.WriteLine("Indent value "+p.Indent);
                    // Get the text of the paragraph by calling the Text property.
                    Console.WriteLine(p.Text);
                }

            }

        }

    }
}

O snippet de código acima lê um arquivo do Word que contém um parágrafo, uma tabela e uma imagem. No entanto, você pode ver a saída na imagem abaixo:

leitor de arquivos do Word

Conclusão

Estamos encerrando esta postagem do blog aqui. Esperamos que você tenha a resposta para sua pergunta (ou seja, Como abrir um arquivo DOCX em C#? ). Além disso, passamos pelo trecho de código que lê um documento do Word existente programaticamente. Agora, você pode construir facilmente um módulo que funcione como um visualizador de arquivo* ***** . Além disso, não se esqueça de visitar a documentação de FileFormat.words para .NET. Finalmente, FileFormat.com continua a escrever postagens no blog sobre outros tópicos. Além disso, você pode nos seguir em nossas plataformas de mídia social, incluindo Facebook, LinkedIn e Twitter.

Contribua

Desde FileFormat.words para .net é um projeto de código aberto e está disponível no Github. Portanto, a contribuição da comunidade é muito apreciada.

Faça uma pergunta

Você pode nos informar sobre suas perguntas ou consultas em nosso fórum.

Perguntas frequentes-perguntas frequentes

** Como faço para abrir um arquivo docx sem palavras?** Você pode abrir arquivos docx/docs usando esta biblioteca .NET de código aberto FileFormat.words. Além disso, você pode criar um módulo de leitor de arquivo do Word para o seu aplicativo comercial usando esta biblioteca.

veja também