Genera Word da template in C#

Automatizzare la generazione di documenti è cruciale per le aziende che desiderano creare report, fatture e lettere dinamiche. Con Aspose.Words Mail Merge per .NET, puoi popolare in modo efficiente i modelli di Word con dati provenienti da varie fonti, inclusi oggetti, CSV, JSON e XML. Questa guida ti guiderà nell’utilizzo del Mail Merge in C# per flussi di lavoro documentali automatizzati e semplificati, concentrandosi sulla creazione dinamica di documenti Word con C# .NET.


Indice


Panoramica del Mail Merge per .NET

Il plugin Aspose.Words Mail Merge per .NET consente agli sviluppatori di creare documenti personalizzati da modelli predefiniti contenenti campi di unione. Questa integrazione è progettata per un utilizzo senza soluzione di continuità all’interno degli ambienti .NET, offrendo capacità di:

  • Popolare dinamicamente i modelli con dati, supportando la generazione di documenti Word con il framework .NET.
  • Eseguire in modo efficiente la generazione di documenti in massa, sfruttando la soluzione di mail merge .NET per documenti Word.
  • Garantire una formattazione coerente attraverso le uscite, migliorando le migliori pratiche per i modelli di documento Word in C#.

Caratteristiche Chiave:

  1. Supporto Multi-Fonte: Utilizza dati provenienti da oggetti, database, XML, JSON e CSV per creare documenti Word personalizzati con C#.
  2. Alte Prestazioni: Gestisci in modo efficiente grandi dataset e operazioni in massa per generazione dinamica di documenti Word con .NET Core.
  3. Modelli Personalizzabili: Crea modelli con segnaposto per l’inserimento di dati, utilizzando le capacità di automazione del mail merge di Word in .NET.

Configurazione

Per iniziare, installa Aspose.Words utilizzando NuGet:

PM> Install-Package Aspose.Words

Genera Documento Word da Template Utilizzando Oggetti C#

Iniziamo a popolare un modello di Word utilizzando oggetti C#. Creeremo un documento Word (DOC/DOCX) con i seguenti segnaposto:

<<[sender.Name]>> dice: "<<[sender.Message]>>."

In questo esempio, sender è un’istanza di una classe che utilizzeremo per popolare il modello utilizzando l’approccio C# genera documento Word da database.

Successivamente, utilizzeremo il motore di reporting di Aspose.Words per generare il documento Word dal modello e dall’istanza della classe Sender seguendo questi passaggi:

  1. Crea un’istanza della classe Document e inizializzala con il percorso del modello Word.
  2. Crea e inizializza un oggetto della classe Sender.
  3. Istanziati la classe ReportingEngine.
  4. Popola il modello utilizzando ReportingEngine.BuildReport(), che prende l’istanza del documento, la fonte dati e il nome della fonte dati come parametri.
  5. Salva il documento Word generato utilizzando Document.Save().

Ecco un esempio di codice che dimostra come generare un documento Word da un template in C#.

Output

Genera Documento Word da una Fonte Dati XML in C#

Per generare un documento Word da una fonte dati XML, utilizzeremo un modello di Word più complesso con i seguenti segnaposto:

<<foreach [in persons]>>Nome: <<[Name]>>, Età: <<[Age]>>, Data di Nascita: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Età media: <<[persons.Average(p => p.Age)]>>

La fonte dati XML utilizzata in questo esempio è mostrata di seguito.

Per creare un documento Word da una fonte dati XML, segui questi passaggi:

  1. Crea un’istanza della classe Document e inizializzala con il percorso del modello Word.
  2. Crea un’istanza della classe XmlDataSource e inizializzala con il percorso del file XML.
  3. Istanziati la classe ReportingEngine.
  4. Utilizza il metodo ReportingEngine.BuildReport() per popolare il modello Word.
  5. Salva il documento Word generato utilizzando il metodo Document.Save().

Ecco un esempio di codice che dimostra come generare un documento Word da una fonte dati XML in C#.

Output

Genera Documento Word da una Fonte Dati JSON in C#

Successivamente, esploriamo come generare un documento Word utilizzando una fonte dati JSON. In questo esempio, creeremo un elenco di clienti segmentati dai loro manager. Il modello di Word avrà questo aspetto:

<<foreach [in managers]>>Manager: <<[Name]>>
Contratti:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

La corrispondente fonte dati JSON che utilizzeremo per popolare il modello è riportata di seguito:

Per generare il documento Word da JSON, utilizzeremo la classe JsonDataSource per caricare la fonte dati, e i passaggi rimanenti seguiranno la struttura precedente. Ecco un esempio di codice che dimostra come generare un documento Word dal modello JSON in C#.

Output

Genera Documento Word da Fonte Dati CSV in C#

Per generare il documento Word da una fonte CSV, utilizzeremo il seguente modello di Word:

<<foreach [in persons]>>Nome: <<[Column1]>>, Età: <<[Column2]>>, Data di Nascita: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Età media: <<[persons.Average(p => p.Column2)]>>

Il modello sarà popolato utilizzando i seguenti dati CSV:

Ora, rivediamo il codice C#. I passaggi rimangono gli stessi tranne per una differenza chiave: utilizzeremo la classe CsvDataSource per caricare i dati CSV. Il seguente esempio di codice illustra come generare il documento Word da una fonte dati CSV.

Output

Prova Aspose.Words per .NET Gratuitamente

Puoi provare Aspose.Words per .NET utilizzando una licenza temporanea gratuita.

Conclusione

In questo articolo, hai appreso come generare documenti Word da modelli utilizzando C#. Hai esplorato come sfruttare varie fonti di dati come oggetti, XML, JSON e CSV per generazione dinamica di documenti in .NET. Per ulteriori approfondimenti sulle capacità del processing di modelli Word in .NET, approfondisci la documentazione e sentiti libero di contattarci attraverso il nostro forum.