Passer au contenu du pied de page
OUTILS EXCEL

Comment afficher les fichiers PowerPoint en C#

Écrit par l'équipe de Iron Software

La fusion et publipostage à partir d'Excel vers Microsoft Word permet de créer rapidement des lettres personnalisées, des étiquettes, ou des emails sans modifier manuellement chaque document. L'idée est simple : vous maintenez une seule feuille de calcul Excel contenant tous les détails de vos destinataires, vous la connectez à un modèle de publipostage Word, insérez des champs de fusion là où les données personnalisées doivent apparaître, et laissez Word générer une copie personnalisée distincte pour chaque ligne de vos données. Ce qui prendrait des heures de modification manuelle se fait en quelques minutes, avec chaque nom, adresse et détail correctement remplis à partir de votre liste de diffusion.

Le processus de publipostage implique trois documents impliqués dans toute exécution réussie : le fichier Excel contenant les données, le document principal dans Word où se trouve la lettre ou l'étiquette, et le document fusionné qui est produit à la fin. Une fusion et publipostage réussie nécessite une feuille de calcul propre, des données correctement formatées et un modèle Word avec des champs de fusion placés aux bons endroits. Les types de données spéciaux tels que les codes postaux, les devises, et les dates doivent être correctement formatés dans Excel avant de commencer une fusion et publipostage, et toutes les données doivent se trouver sur la première feuille du classeur Excel pour que Word les lise correctement.

Cet article explique chaque étape du processus : préparer votre feuille de calcul Excel, la connecter en tant que source de données dans l'onglet Courrier, insérer des champs de fusion, prévisualiser les résultats, compléter la fusion et gérer les messages e-mail. Les développeurs qui ont besoin de créer ou valider des sources de données Excel de manière programmatique avant d'exécuter une fusion trouveront à la fin une section expliquant comment IronXL gère la création et le formatage de fichiers Excel en .NET sans nécessiter l'installation de Microsoft Office.

Étape 1 : Préparez votre feuille de calcul Excel

Une feuille de calcul Excel propre et bien structurée est la base d'une fusion et publipostage fiable. Avant d'ouvrir Word, la correspondance entre vos données et vos champs de fusion dépend entièrement de la manière dont le fichier Excel est configuré.

En-têtes de colonnes sur la première ligne. Assurez-vous que votre feuille de calcul Excel a une colonne pour chaque élément que vous souhaitez inclure, tel que le nom, l'adresse, la ville, l'État et le code postal. Les noms de colonnes dans la première ligne deviennent les champs de fusion disponibles dans Word, ils doivent donc être uniques, clairement étiquetés et placés sans lignes blanches au-dessus. Assurez-vous que la première ligne contient des en-têtes uniques et qu'il n'y a pas de lignes blanches au-dessus, car Word utilise la première ligne pour identifier les champs de fusion disponibles.

Utilisez des colonnes séparées pour chaque donnée. Stockez le prénom, le nom et la salutation dans des colonnes séparées plutôt que de les combiner. Cela vous donne un contrôle total lors de la création de la ligne de salutation et du bloc d'adresse plus tard. Avant de lancer une fusion et publipostage dans Word, assurez-vous que votre fichier Excel contient toutes les informations nécessaires, telles que le prénom, le nom, la salutation, les codes postaux et les adresses.

Formatez les codes postaux et les codes ZIP comme texte. Lorsque vous préparez vos données Excel pour une fusion et publipostage, assurez-vous que la colonne des codes ZIP ou des codes postaux est formatée en texte pour éviter de perdre des zéros initiaux. Un code postal tel que 02101 perdra silencieusement le zéro initial si la cellule est formatée comme un nombre, provoquant une sortie mal formatée dans chaque lettre fusionnée.

Gardez toutes les données sur la première feuille. Toutes les données doivent être sur la première feuille du classeur Excel pour une fusion et publipostage réussie. Si votre classeur a plusieurs onglets, Word ne lira que la première feuille, alors déplacez toutes vos entrées de données vers la Feuille 1 avant de connecter le fichier.

Enregistrez et fermez le fichier Excel. Les fichiers Excel doivent être enregistrés et fermés avant de les lier à Microsoft Word pour que la fusion et publipostage fonctionne correctement. Un fichier Excel ouvert peut provoquer des erreurs de connexion lorsque Word essaie d'importer les données.

Gardez les en-têtes de colonne courts et sans espaces autant que possible. Les noms de colonnes comme " FirstName " et " ZipCode " sont moins susceptibles de causer des problèmes avec la boîte de dialogue de correspondance des champs que les noms contenant des espaces ou des caractères spéciaux.

How To Mail Merge From Excel To Word 1 related to Étape 1 : Préparez votre feuille de calcul Excel

Étape 2 : Ouvrez Word et commencez la fusion et publipostage

Avec le fichier Excel prêt, ouvrez Microsoft Word et créez ou ouvrez votre document principal. Si vous avez déjà un document existant que vous souhaitez utiliser comme modèle de lettre, ouvrez-le maintenant plutôt que de commencer à partir d'une page blanche. C'est le modèle de lettre, d'étiquette ou d'email que chaque destinataire recevra.

Utiliser l'assistant de fusion et publipostage étape par étape :

Pour démarrer l'assistant de fusion et publipostage dans Microsoft Word, cliquez sur l'onglet Courrier, puis sélectionnez Démarrer la fusion et publipostage, et choisissez Assistant de fusion et publipostage étape par étape dans la flèche déroulante en bas de la liste. L'assistant de fusion et publipostage fournit un guide étape par étape pour aider les utilisateurs à créer des documents de publipostage, ce qui facilite la navigation pour les débutants dans le processus. Un panneau s'ouvre sur le côté droit de l'écran et Word vous guide à travers chaque étape dans l'ordre.

Lorsque vous utilisez l'assistant de fusion et publipostage, les utilisateurs peuvent sélectionner le type de document qu'ils souhaitent créer, tel que des lettres ou des étiquettes, puis procédez aux étapes pour se connecter à leur source de données et insérer des champs de fusion. Pour ce guide, sélectionnez Lettres comme type de document.

Utiliser directement l'onglet Courrier :

Des utilisateurs plus expérimentés peuvent cliquer sur démarrer la fusion et publipostage depuis le groupe démarrer la fusion et publipostage dans l'onglet Courrier et choisir le type de document directement sans l'assistant. L'une ou l'autre approche conduit au même résultat.

How To Mail Merge From Excel To Word 2 related to Utiliser directement l'onglet Courrier :

Étape 3 : Connectez votre fichier Excel en tant que source de données

Une fois le type de document défini, l'étape suivante consiste à lier votre fichier Excel afin que Word sache d'où tirer les détails des destinataires.

  1. Dans l'onglet Courrier, cliquez sur Sélectionner des destinataires dans le groupe démarrer la fusion et publipostage.
  2. Dans la flèche déroulante, choisissez Utiliser une liste existante. Pour connecter votre feuille de calcul Excel à un document Word pour la fusion et publipostage, vous devez sélectionner Utiliser une liste existante sous l'option Sélectionner des destinataires dans l'onglet Courrier.
  3. Un explorateur de fichiers s'ouvre. Naviguez jusqu'au dossier contenant votre fichier Excel, sélectionnez-le et cliquez sur Ouvrir.
  4. Une boîte de dialogue apparaît listant les feuilles du classeur. Sélectionnez Feuille1 (la feuille cible contenant vos données) et cliquez sur OK.

Word est maintenant connecté à vos données Excel en tant que liste existante. L'option de navigation de la liste existante vous permet de localiser et d'ouvrir le fichier xlsx enregistré depuis n'importe quel emplacement de votre ordinateur. À ce stade, Word commence à importer des informations à partir de la première feuille du classeur, rendant chaque en-tête de colonne disponible en tant que champ de fusion.

Si Word ne peut pas lire correctement le fichier Excel, vérifiez que le fichier est fermé, enregistré au format xlsx et que tous les en-têtes de colonnes sont sur la première ligne de la Feuille 1 sans lignes blanches au-dessus.

Une fois connecté, vous pouvez cliquer sur choisir d'éditer la liste de destinataires dans l'onglet Courrier pour ouvrir le panneau des destinataires de la fusion et publipostage. Cela montre chaque ligne de votre feuille de calcul comme une entrée distincte. Vous pouvez l'utiliser pour désélectionner des destinataires spécifiques, trier la liste ou filtrer les lignes à inclure dans la fusion. Revoyez attentivement la liste des destinataires avant de continuer pour assurer que Word lit correctement toutes vos entrées de données.

How To Mail Merge From Excel To Word 3 related to Étape 3 : Connectez votre fichier Excel en tant que source de données

Étape 4 : Insérer des champs de fusion dans votre document

Avec la source de données connectée, vous pouvez maintenant placer des champs de fusion et publipostage à l'intérieur du document Word où vous le souhaitez que les données personnalisées apparaissent.

Utiliser le Bloc Adresse :

Le bloc d'adresse est un raccourci qui combine nom, société et adresse postale en un seul champ. Cliquez sur Bloc d'adresse dans le groupe insérer les champs de l'onglet Courrier. Une boîte de dialogue apparaît où vous pouvez configurer comment le nom et l'adresse sont formatés. Cliquez sur Correspondre les champs si un champ dans la boîte de dialogue de correspondance ne s'aligne pas automatiquement avec vos noms de colonnes. La boîte de dialogue de correspondance des champs vous permet de mapper manuellement vos en-têtes de colonnes aux noms de champs attendus que Word utilise en interne, résolvant tout problème de correspondance de feuille de calcul.

Utiliser des champs de fusion individuels :

Pour un contrôle total sur la mise en page et le formatage, insérez des champs de fusion un à la fois. Positionnez votre curseur où vous voulez un champ, puis cliquez sur Insérer les champs de fusion dans le groupe insérer les champs. Une liste déroulante répertorie chaque en-tête de colonne de votre feuille de calcul Excel. Cliquez sur le nom du champ pour l'insérer à la position du curseur. Les champs communs à insérer incluent :

  • " Salutation " " Prénom " " Nom " pour l'ouverture du bloc d'adresse
  • " Société " sur la ligne en dessous
  • " Adresse " suivi de " Ville ", " État " et " CodePostal " sur la ligne suivante
  • Une ligne de salutation telle que " Cher " Salutation " " Nom ", "

Utilisation de la ligne de salutation :

Cliquez sur choisir la ligne de salutation dans l'onglet Courrier pour insérer une salutation préformatée. La boîte de dialogue vous permet de choisir le format de la ligne de salutation (Cher M. Dupont, Cher James, etc.) et de configurer un remplaçant pour les destinataires dont le champ nom est vide.

Ajoutez toujours un espace entre les champs de fusion consécutifs manuellement. Word n'ajoute pas l'espacement entre les champs automatiquement, donc " Prénom Nom " s'affichera comme " JamesCarter " sans espace entre les deux champs.

How To Mail Merge From Excel To Word 4 related to Étape 4 : Insérer des champs de fusion dans votre document

Étape 5 : Prévisualisez les résultats avant de compléter la fusion

Après avoir inséré les champs de fusion dans votre document, vous pouvez prévisualiser les résultats en sélectionnant Prévisualiser les résultats dans l'onglet Courrier, vous permettant de voir comment les données fusionnées apparaîtront.

Cliquez sur Prévisualiser les résultats dans l'onglet Courrier. Word remplace chaque champ de fusion par les données correspondantes de la première ligne de votre feuille de calcul Excel. Utilisez les flèches gauche et droite du groupe Prévisualiser les résultats pour passer d'un enregistrement à l'autre et vérifier que les données de chaque destinataire apparaissent correctement. Cela vous permet de vérifier les détails des destinataires correctement avant de vous engager dans la fusion complète.

Vérifiez en particulier :

  • Que la ligne de salutation se lit naturellement (" Cher M. Dupont, " et non " Cher M. Dupont , ")
  • Que le bloc d'adresse se formatte correctement à travers toutes les lignes, y compris celles avec des noms de sociétés plus longs
  • Que les codes postaux et les codes ZIP s'affichent avec des zéros initiaux là où applicable
  • Que le compteur d'enregistrements actuel en haut de la page correspond à vos attentes

Après avoir inséré des champs de fusion dans votre message email ou lettre, vous pouvez prévisualiser les résultats pour confirmer que le contenu apparaît correctement avant de compléter le processus de fusion. Utilisez les flèches gauche et droite pour faire défiler plusieurs enregistrements, pas seulement le premier.

How To Mail Merge From Excel To Word 5 related to Étape 5 : Prévisualisez les résultats avant de compléter la fusion

Étape 6 : Complétez la fusion et publipostage et sortez vos documents

Avec la prévisualisation confirmée, vous êtes prêt à exécuter la fusion et à produire la sortie finale.

Fusionner vers un nouveau document (recommandé) :

Dans l'onglet Courrier, cliquez sur le bouton Terminer et fusionner, puis choisissez Modifier les documents individuels dans la flèche déroulante. Une boîte de dialogue demande s'il faut fusionner tous les enregistrements, l'enregistrement actuel, ou une plage. Sélectionnez Tous et cliquez sur OK. Word génère un nouveau document contenant tous les documents individuels comme pages distinctes, une par destinataire. C'est l'approche la plus sûre car elle vous permet de revoir le document fusionné avant de l'imprimer ou de l'envoyer.

Choisissez de sauvegarder après avoir examiné pour conserver le document fusionné. Vous pouvez également choisir de le sauvegarder en utilisant Fichier > Enregistrer sous pour le renommer et le stocker avec votre modèle et source de données.

Impression directe :

Cliquez sur Terminer et fusionner > Imprimer les documents pour envoyer directement les résultats de la fusion à l'imprimante sans créer de fichier intermédiaire. C'est utile lorsque vous devez imprimer des documents immédiatement et que vous n'avez pas besoin de les examiner ou de les archiver au préalable.

How To Mail Merge From Excel To Word 6 related to Étape 6 : Complétez la fusion et publipostage et sortez vos documents How To Mail Merge From Excel To Word 7 related to Étape 6 : Complétez la fusion et publipostage et sortez vos documents

Étape 7 : Créer des étiquettes de publipostage

Le même processus de fusion et publipostage s'applique à la création d'étiquettes de publipostage en utilisant un fichier Excel comme source de données, en suivant les mêmes étapes utilisées pour les lettres.

  1. Dans l'onglet Courrier, cliquez sur Démarrer la fusion et publipostage > Étiquettes.
  2. Dans la boîte de dialogue Options d'étiquette, choisissez votre fournisseur d'étiquettes et le numéro de produit pour correspondre aux feuilles d'étiquettes physiques sur votre ordinateur.
  3. Cliquez sur Sélectionner des destinataires > Utiliser une liste existante et liez au même fichier Excel.
  4. Cliquez sur Insérer les champs de fusion pour placer les champs d'adresse sur l'étiquette. Ajoutez " Prénom ", " Nom ", " Adresse ", " Ville ", " État ", et " CodePostal " sur des lignes séparées dans la zone d'étiquettes individuelles.
  5. Cliquez sur Mettre à jour les étiquettes pour copier la mise en page à toutes les étiquettes de la page.
  6. Prévisualisez, puis terminez et fusionnez pour produire des étiquettes individuelles prêtes à imprimer.

Étape 8 : Envoyez des messages e-mail via la fusion et publipostage

La fusion et publipostage peut aussi envoyer des messages e-mail personnalisés directement depuis Word via Microsoft Outlook.

Envoyer des e-mails via la fusion et publipostage nécessite qu'Outlook soit ouvert et défini comme programme de messagerie par défaut. Cela s'applique à Outlook classique et au nouvel Outlook. Assurez-vous que cela soit configuré avant de commencer.

Lors de la configuration d'une fusion e-mail, veillez à ce que votre liste de diffusion comprenne une colonne pour les adresses e-mail, qui sera utilisée pour envoyer des messages personnalisés à chaque destinataire. Dans la feuille de calcul démo, c'est la colonne EmailAddress.

  1. Dans l'onglet Courrier, cliquez sur Démarrer la fusion et publipostage > Messages E-Mail.
  2. Écrivez le corps de votre e-mail dans le document Word, puis insérez des champs de fusion pour la ligne de salutation et tout contenu personnalisé exactement comme pour une lettre.
  3. Cliquez sur Sélectionner des destinataires > Utiliser une liste existante et connectez-vous à votre fichier Excel.
  4. Pour personnaliser les messages e-mail en utilisant la fusion et publipostage, insérez des champs de fusion dans votre document principal tels que des noms et des adresses, qui seront remplacés par les données correspondantes de votre liste de diffusion.
  5. Cliquez sur Terminer et fusionner > Envoyez des messages E-Mail.
  6. Dans la boîte de dialogue, réglez le champ À sur votre colonne d'adresses e-mail (EmailAddress), ajoutez une ligne d'objet et sélectionnez HTML comme format de messagerie pour une compatibilité optimale.
  7. Cliquez sur OK. Word envoie un e-mail personnalisé à chaque destinataire via Outlook. Les contacts d'Outlook peuvent également être utilisés comme source de données alternative au lieu d'une feuille Excel si votre liste de contacts y est stockée.

Après avoir complété une fusion e-mail, consultez votre dossier Éléments envoyés d'Outlook pour confirmer que les messages ont été envoyés. Chaque e-mail de la liste apparaît comme un message envoyé séparé, un par destinataire.

How To Mail Merge From Excel To Word 8 related to Étape 8 : Envoyez des messages e-mail via la fusion et publipostage

Problèmes courants et dépannage

Word ne trouve pas le fichier Excel ou renvoie une erreur lors de la connexion

Vérifiez que le fichier Excel est enregistré et complètement fermé avant d'essayer de le lier dans Word. Un classeur ouvert avec des modifications non enregistrées peut bloquer la connexion. Confirmez également que le fichier est enregistré sous .xlsx plutôt que .xls ou un autre format.

Les codes postaux ou ZIP manquent de leurs zéros initiaux

Cela se produit lorsque la colonne ZipCode dans Excel est formatée comme un nombre plutôt que comme texte. Ouvrez la feuille de calcul, sélectionnez la colonne ZipCode, formatez-la en texte, puis ressaisissez toutes les valeurs qui ont perdu leurs zéros initiaux. Les fichiers Excel doivent être enregistrés et fermés à nouveau avant de se reconnecter dans Word.

Les champs de fusion affichent des codes de champ au lieu des données (par exemple {MERGEFIELD FirstName})

Appuyez sur Alt + F9 pour basculer entre l'affichage des codes de champ et l'affichage des résultats de champ dans Word. Cela est un paramètre d'affichage qui n'affecte pas la fusion elle-même.

La boîte de dialogue de correspondance des champs montre des champs non mappés

Cela se produit lorsque vos noms de colonnes ne correspondent pas aux noms que Word attend pour le bloc d'adresse. Cliquez sur Correspondre les champs dans l'onglet Courrier et mappez manuellement chaque nom de colonne au champ Word correspondant. Par exemple, mappez votre colonne " ZipCode " au champ " Code Postal " si Word ne le reconnaît pas automatiquement.

Des destinataires manquent dans la sortie de fusion

Ouvrez le panneau des destinataires de la fusion et publipostage en cliquant sur choisir d'éditer la liste de destinataires dans l'onglet Courrier. Vérifiez si des lignes ont été accidentellement désélectionnées. Confirmez également qu'il n'y a pas de lignes blanches dans votre plage de données dans la feuille Excel, car cela peut amener Word à arrêter de lire les entrées de données avant d'atteindre la fin de la liste.

La fusion e-mail se déroule mais les destinataires ne reçoivent pas les e-mails

Confirmez qu'Outlook est ouvert et défini comme programme de messagerie par défaut avant d'exécuter la fusion. Vérifiez le dossier Éléments envoyés d'Outlook pour voir si les messages ont été envoyés. Si vous utilisez le nouvel Outlook, notez que certaines versions ont un support limité pour la fusion e-mail par rapport à Outlook classique.

Référence rapide : Fusion et publipostage d'Excel vers Word

Tâches Où le trouver Notes
Démarrer la fusion et publipostage Onglet Courrier > Démarrer la fusion et publipostage Choisir Lettres, Étiquettes, ou Messages E-Mail
Connectez le fichier Excel Sélectionner des destinataires > Utiliser une liste existante Le fichier doit être enregistré et fermé
Ajouter un bloc d'adresse Groupe Insérer les champs > Bloc d'adresse Utilisez Correspondre les champs pour le mapping des colonnes
Insérer des champs individuels Groupe Insérer les champs > Insérer les champs de fusion Un champ par nom de champ de fusion
Ajouter une ligne de salutation Onglet Courrier > Ligne de salutation Choisir le format de la ligne de salutation dans la boîte de dialogue
Prévisualiser la fusion Onglet Courrier > Prévisualiser les résultats Utilisez les flèches gauche et droite pour vérifier les enregistrements
Terminez la fusion dans un fichier Terminer et fusionner > Modifier les documents individuels Crée un nouveau document avec toutes les pages
Imprimez les documents Terminer et fusionner > Imprimer les documents Envoie directement à l'imprimante
Envoyer des messages e-mail Terminer et fusionner > Envoyer des messages e-mail Nécessite Outlook comme programme de messagerie par défaut
Éditer la liste des destinataires Choisissez Modifier la liste des destinataires Filtrer, trier ou désélectionner des lignes

Pour les développeurs : Créez et validez des données de fusion et publipostage Excel avec IronXL

Si votre application génère la source de données Excel qui alimente un processus de fusion et publipostage, la qualité et le formatage de ce fichier déterminent directement si la fusion réussit. IronXL est une bibliothèque .NET qui permet aux développeurs C# de créer, lire et formater des fichiers Excel de manière programmatique sans nécessiter que Microsoft Office soit installé sur le serveur ou la machine du développeur.

Les points de défaillance les plus courants dans les fichiers de données de fusion et publipostage sont les en-têtes manquants, les cellules fusionnées, les codes postaux incorrectement typés, et les lignes blanches dans la plage de données. IronXL vous donne un contrôle programmatique complet sur chaque cellule, le format de colonne et le type de données avant que le fichier ne soit remis à Word, éliminant ces problèmes à la source.

Voici comment créer une feuille de calcul Excel de liste de diffusion correctement structurée en utilisant IronXL, avec tous les en-têtes de colonnes sur la première ligne de la Feuille 1 et la colonne ZipCode formatée comme texte :

using IronXL;

// Create a new workbook - data must be on the first sheet for mail merge
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.DefaultWorkSheet;
workSheet.Name = "Sheet1";

// Set column headers in row 1 - these become the merge field names in Word
string[] headers = {
    "FirstName", "LastName", "Salutation", "Company",
    "Address", "City", "State", "ZipCode", "EmailAddress"
};

for (int i = 0; i < headers.Length; i++)
{
    var headerCell = workSheet.GetCell(0, i);
    headerCell.Value = headers[i];
    headerCell.Style.Font.Bold = true;
}

// Add recipient data rows
var recipients = new[]
{
    new[] { "James",  "Carter",   "Mr.", "Carter & Associates",   "142 Oak Lane",     "Chicago",  "IL", "60601", "j.carter@carterassoc.com" },
    new[] { "Sarah",  "Mitchell", "Ms.", "Blue Ridge Consulting", "890 Maple Avenue", "Austin",   "TX", "78701", "s.mitchell@blueridge.com" },
    new[] { "Robert", "Nguyen",   "Mr.", "Nguyen Legal Group",    "55 Harbor View",   "Seattle",  "WA", "98101", "r.nguyen@nguyenlegal.com"  },
};

for (int row = 0; row < recipients.Length; row++)
{
    for (int col = 0; col < recipients[row].Length; col++)
    {
        var cell = workSheet.GetCell(row + 1, col);
        cell.Value = recipients[row][col];

        // Format ZipCode column (index 7) as text to preserve leading zeros
        // This prevents postal codes like "02101" from dropping to "2101"
        if (col == 7)
        {
            cell.FormatString = "@"; // @ = text format in Excel
        }
    }
}

// Save - file must be closed before Word can link to it for mail merge
workBook.SaveAs("mailing-list.xlsx");
using IronXL;

// Create a new workbook - data must be on the first sheet for mail merge
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.DefaultWorkSheet;
workSheet.Name = "Sheet1";

// Set column headers in row 1 - these become the merge field names in Word
string[] headers = {
    "FirstName", "LastName", "Salutation", "Company",
    "Address", "City", "State", "ZipCode", "EmailAddress"
};

for (int i = 0; i < headers.Length; i++)
{
    var headerCell = workSheet.GetCell(0, i);
    headerCell.Value = headers[i];
    headerCell.Style.Font.Bold = true;
}

// Add recipient data rows
var recipients = new[]
{
    new[] { "James",  "Carter",   "Mr.", "Carter & Associates",   "142 Oak Lane",     "Chicago",  "IL", "60601", "j.carter@carterassoc.com" },
    new[] { "Sarah",  "Mitchell", "Ms.", "Blue Ridge Consulting", "890 Maple Avenue", "Austin",   "TX", "78701", "s.mitchell@blueridge.com" },
    new[] { "Robert", "Nguyen",   "Mr.", "Nguyen Legal Group",    "55 Harbor View",   "Seattle",  "WA", "98101", "r.nguyen@nguyenlegal.com"  },
};

for (int row = 0; row < recipients.Length; row++)
{
    for (int col = 0; col < recipients[row].Length; col++)
    {
        var cell = workSheet.GetCell(row + 1, col);
        cell.Value = recipients[row][col];

        // Format ZipCode column (index 7) as text to preserve leading zeros
        // This prevents postal codes like "02101" from dropping to "2101"
        if (col == 7)
        {
            cell.FormatString = "@"; // @ = text format in Excel
        }
    }
}

// Save - file must be closed before Word can link to it for mail merge
workBook.SaveAs("mailing-list.xlsx");
Imports IronXL

' Create a new workbook - data must be on the first sheet for mail merge
Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
workSheet.Name = "Sheet1"

' Set column headers in row 1 - these become the merge field names in Word
Dim headers As String() = {
    "FirstName", "LastName", "Salutation", "Company",
    "Address", "City", "State", "ZipCode", "EmailAddress"
}

For i As Integer = 0 To headers.Length - 1
    Dim headerCell = workSheet.GetCell(0, i)
    headerCell.Value = headers(i)
    headerCell.Style.Font.Bold = True
Next

' Add recipient data rows
Dim recipients = {
    New String() { "James",  "Carter",   "Mr.", "Carter & Associates",   "142 Oak Lane",     "Chicago",  "IL", "60601", "j.carter@carterassoc.com" },
    New String() { "Sarah",  "Mitchell", "Ms.", "Blue Ridge Consulting", "890 Maple Avenue", "Austin",   "TX", "78701", "s.mitchell@blueridge.com" },
    New String() { "Robert", "Nguyen",   "Mr.", "Nguyen Legal Group",    "55 Harbor View",   "Seattle",  "WA", "98101", "r.nguyen@nguyenlegal.com"  }
}

For row As Integer = 0 To recipients.Length - 1
    For col As Integer = 0 To recipients(row).Length - 1
        Dim cell = workSheet.GetCell(row + 1, col)
        cell.Value = recipients(row)(col)

        ' Format ZipCode column (index 7) as text to preserve leading zeros
        ' This prevents postal codes like "02101" from dropping to "2101"
        If col = 7 Then
            cell.FormatString = "@" ' @ = text format in Excel
        End If
    Next
Next

' Save - file must be closed before Word can link to it for mail merge
workBook.SaveAs("mailing-list.xlsx")
$vbLabelText   $csharpLabel

Pour lire et valider un fichier Excel existant avant de le connecter à un flux de travail de fusion et publipostage, IronXL simplifie la vérification de la structure requise :

using IronXL;

WorkBook workBook = WorkBook.Load("mailing-list.xlsx");

// Always read from the first sheet for mail merge compatibility
WorkSheet firstSheet = workBook.DefaultWorkSheet;

// Verify the first row contains column headers, not data
string firstHeader = firstSheet["A1"].StringValue;
Console.WriteLine($"First column header: {firstHeader}");

// Read all recipient data rows
foreach (var row in firstSheet.Rows.Skip(1)) // Skip header row
{
    string firstName = row[0].StringValue;
    string lastName  = row[1].StringValue;
    string zipCode   = row[7].StringValue; // Read as string to preserve leading zeros
    Console.WriteLine($"{firstName} {lastName} - ZIP: {zipCode}");
}
using IronXL;

WorkBook workBook = WorkBook.Load("mailing-list.xlsx");

// Always read from the first sheet for mail merge compatibility
WorkSheet firstSheet = workBook.DefaultWorkSheet;

// Verify the first row contains column headers, not data
string firstHeader = firstSheet["A1"].StringValue;
Console.WriteLine($"First column header: {firstHeader}");

// Read all recipient data rows
foreach (var row in firstSheet.Rows.Skip(1)) // Skip header row
{
    string firstName = row[0].StringValue;
    string lastName  = row[1].StringValue;
    string zipCode   = row[7].StringValue; // Read as string to preserve leading zeros
    Console.WriteLine($"{firstName} {lastName} - ZIP: {zipCode}");
}
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("mailing-list.xlsx")

' Always read from the first sheet for mail merge compatibility
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet

' Verify the first row contains column headers, not data
Dim firstHeader As String = firstSheet("A1").StringValue
Console.WriteLine($"First column header: {firstHeader}")

' Read all recipient data rows
For Each row In firstSheet.Rows.Skip(1) ' Skip header row
    Dim firstName As String = row(0).StringValue
    Dim lastName As String = row(1).StringValue
    Dim zipCode As String = row(7).StringValue ' Read as string to preserve leading zeros
    Console.WriteLine($"{firstName} {lastName} - ZIP: {zipCode}")
Next
$vbLabelText   $csharpLabel

IronXL fonctionne sur .NET 6 et versions ultérieures, et est entièrement compatible avec Windows, Linux, macOS, Docker, et Azure, le rendant adapté à la génération de fichiers de données de fusion et publipostage depuis des applications serveur, des tâches planifiées, ou des API web sans dépendance sur Microsoft Office.

Pour commencer : Installez via NuGet avec Install-Package IronXL.Excel. Un essai gratuit est disponible avec 30 jours de fonctionnalité complète sans carte de crédit requise.

Lectures complémentaires :

Conclusion

Exécuter une fusion et publipostage à partir d'une feuille de calcul Excel est l'une des façons les plus fiables de produire des lettres personnalisées, des étiquettes de courrier et des messages e-mail à grande échelle. Le processus se résume à trois étapes principales : construire une liste de diffusion propre dans Excel avec des données correctement formatées sur la première feuille, connecter ce fichier à Word via l'onglet Courrier en utilisant Utiliser une liste existante et placer des champs de fusion précisément là où chaque donnée de destinataire doit apparaître.

Une fois la source de données connectée, le groupe insérer les champs et les outils du bloc d'adresse dans Word gèrent le gros du travail. Prévisualisez les résultats avec les flèches gauche et droite avant de terminer la fusion pour détecter tout problème de formatage, de champs mal alignés ou de codes postaux manquants avant qu'ils n'atteignent un destinataire. Une fois la fusion et publipostage terminée, vous pouvez choisir d'enregistrer le document fusionné, qui conserve la connexion à la source de données, permettant une utilisation future sans avoir besoin de se reconnecter.

Pour les équipes de développement dont les applications génèrent ou transforment les données Excel qui alimentent un flux de travail de fusion et publipostage, IronXL offre une API claire pour créer des fichiers de feuille de calcul correctement structurés et bien formatés en .NET sans les dépendances Office. Commencez avec un essai gratuit pour explorer l'ensemble complet des fonctionnalités dans votre propre environnement.

Des questions sur un scénario de fusion et publipostage spécifique ou une étape qui n'a pas fonctionné comme prévu ? Laissez un commentaire ci-dessous ou visitez le blog Iron Software pour plus d'aide avec l'automatisation Excel, le formatage des données et la génération de documents.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi