Domanda

Ho bisogno di popolare un documento di Word 2007 dal codice, comprese le sezioni della tabella ripetute - attualmente utilizzo una trasformazione XML nella parte document.xml di docx, ma questo richiede molto tempo per l'installazione (ogni volta che modifichi nel documento modello, devi ricreare il file transform.xsl, che può richiedere fino a un giorno per documenti complessi).

Esiste un modo migliore, preferibilmente uno che non richiede di eseguire Word 2007 durante il processo?

Saluti Richard

È stato utile?

Soluzione

Ho provato a scrivere del codice a tale scopo, ma ho rinunciato. Ora utilizzo un prodotto di terze parti: Aspose Words e sono abbastanza soddisfatto di quel componente.

Non necessita di Microsoft Word sulla macchina.

" Aspose.Words consente alle applicazioni .NET e Java di leggere, modificare e scrivere documenti Word® senza utilizzare Microsoft Word®. "

" Aspose.Words supporta una vasta gamma di funzionalità tra cui creazione di documenti, manipolazione di contenuti e formattazione, potenti capacità di stampa unione, supporto completo di formati DOC, OOXML, RTF, WordprocessingML, HTML, OpenDocument e PDF. Aspose.Words è davvero il componente Word più conveniente, più veloce e ricco di funzionalità sul mercato. & Quot;

ESCLUSIONE DI RESPONSABILITÀ : non sono affiliato con quella società.

Altri suggerimenti

Dato che un file DOCX è semplicemente un file ZIP contenente una struttura di cartelle con immagini e file XML, dovresti essere in grado di manipolare quei file XML usando la nostra API di manipolazione XML preferita. La specifica del formato è nota come WordprocessingML , parte dello Office Open XML standard .

Ho pensato di menzionarlo nel caso in cui lo strumento di terze parti suggerito da splattne non sia un'opzione.

Usa invoke docx lib. supporta i dati della tabella ( http://invoke.co.nz/products/help/docx_tables aspx ). Maggiori informazioni su http://invoke.co.nz/products/docx.aspx

Hai pensato di usare VB? È possibile creare un assembly separato per popolare il documento.

So che stai cercando una soluzione C #, ma il supporto letterale XML è un'area in cui il supporto letterale XML potrebbe aiutarti a popolare il documento. Crea un documento in Word sul server come modello, decomprimi il docx, incolla la sezione XML pertinente che desideri modificare nel tuo codice VB e aggiungi il codice per compilare le parti che desideri modificare. Dalla tua descrizione è difficile dire se ciò soddisferebbe le tue esigenze, ma suggerirei di esaminarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top