Pergunta

Eu tenho uma necessidade para preencher um documento do Word 2007 a partir do código, incluindo repetir seções da tabela - atualmente utilizo uma transformação XML na parte document.xml do docx, mas isso é extremamente demorado para configuração (cada vez que você editar o documento de modelo, você tem que recriar o arquivo transform.xsl, o que pode levar até um dia para fazer para documentos complexos).

Existe alguma maneira melhor, de preferência um que não exigem que você Executar Word 2007 durante o processo?

Saudações Richard

Foi útil?

Solução

Eu mesmo tentei escrever algum código para o efeito, mas desistiu. Agora eu uso um produto 3o partido: Aspose Palavras e estou muito feliz com esse componente.

Ele não precisa de Microsoft Word na máquina.

"Aspose.Words permite que aplicativos .NET e Java para ler, modificar e gravar documentos Word® sem utilizar Microsoft Word®."

"Aspose.Words suporta uma grande variedade de recursos, incluindo a criação de documentos, conteúdos e manipulação de formatação, habilidades de mala direta poderosos, suporte abrangente de DOC, OOXML, RTF, WordprocessingML, HTML, OpenDocument e PDF. Aspose. palavras é verdadeiramente o mais acessível, mais rápido e apresentam componente rico Palavra no mercado ".

AVISO LEGAL :. Eu não sou afiliado com a empresa

Outras dicas

Uma vez que um arquivo DOCX é simplesmente um arquivo ZIP que contém uma estrutura de pastas com imagens e arquivos XML, você deve ser capaz de manipular esses arquivos XML usando nossa API favorito manipulação XML. A especificação do formato é conhecido como WordprocessingML , parte do Office Open XML .

Eu pensei que eu iria falar dele no caso do terceiro ferramenta partido sugerido por splattne não é uma opção.

Use invoke docx lib. ele suporta os dados da tabela ( http://invoke.co.nz/products/help/docx_tables .aspx ). Mais informações em http://invoke.co.nz/products/docx.aspx

Você considerou usando VB? Você poderia criar um assembly separado para preencher o documento.

Eu sei que você está procurando uma solução C #, mas o apoio literal XML é uma área onde o apoio literal XML poderia ajudá-lo a preencher o documento. Criar um documento no Word para o servidor como um modelo, descompacte o docx, cole a seção de XML relevantes que você deseja alterar em você código VB, e adicionar código para preencher as partes que deseja alterar. É difícil dizer a partir de sua descrição, se isso iria atender às suas necessidades, mas gostaria de sugerir a olhar para ele.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top