Stampa unione (Excel a Word) utilizzando C #
Domanda
Mi chiedevo se qualcuno sapeva fare una stampa unione utilizzando un file di Excel come origine dati, per compilare i campi su un modello di Word? Vorrei utilizzare l'interoperabilità per Word se potessi ... ma sto avendo qualche difficoltà a trovare il codice per questo. Qualcuno ha sintassi per questo? Grazie in anticipo.
Soluzione
Un metodo molto utile per imparare come automatizzare azioni specifiche in MS Word è quello di eseguire in realtà l'azione manualmente con 'Registra macro' attivato.
Una volta che hai la macro VBA sua abbastanza facile da convertire questo a VB.NET o C # che utilizza interoperabilità. Tendo a modificare manualmente prima in Word VBA in modo da poter quindi verificare questa prima prima della conversione in un linguaggio .NET utilizzando il livello di interoperabilità.
Non so molto di mailmerge, ma questo è un po 'della VBA generato mentre ho registrato una macro:
ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:= _
"c:\Arrays.xlsx", ConfirmConversions:=False, _
ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=c:\Arrays.xlsx;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Loc" _
, SQLStatement:="SELECT * FROM `Sheet1$`", SQLStatement1:="", SubType:= _
wdMergeSubTypeAccess
Non ho inserito il codice completo qui, ma spero che questo vi darà alcune idee.
Altri suggerimenti
Parola (almeno nella versione del 2007, che è quello che sto guardando) può fare questo, fuori dalla scatola. Basta selezionare il file di Excel come l'origine dati. Che cosa stai cercando di fare nel vostro codice?
Io uso questo controllo 3rd party. Si può leggere il file xls in una tabella di dati e poi dire il controllo di fonderla.