Vous devrez peut-être fusionner plusieurs fichiers Microsoft Excel en un seul fichier par programmation. En combinant des fichiers Excel, vous pouvez facilement générer des rapports basés sur les données disponibles dans plusieurs fichiers Excel. En tant que développeur Python, vous pouvez fusionner deux ou plusieurs classeurs ou feuilles de calcul Excel à partir de différents fichiers dans un seul classeur. Dans cet article, vous apprendrez à fusionner plusieurs fichiers Excel en un seul fichier à l’aide d’une API REST en Python.
Les sujets suivants seront traités dans cet article :
- API REST de fusion Excel et SDK Python
- Fusionner plusieurs fichiers Excel à l’aide de l’API REST en Python
- Fusionner des feuilles Excel spécifiques à l’aide de Python
API REST de fusion Excel et SDK Python
Pour fusionner plusieurs fichiers XLSX, j’utiliserai l’API Python SDK of GroupDocs.Merger Cloud. Il vous permet de combiner, diviser, supprimer et réorganiser une seule page ou une collection de pages à partir de formats de documents pris en charge de Word, Excel, PowerPoint, Dessins Visio, PDF et HTML.
Vous pouvez installer GroupDocs.Merger Cloud dans votre application Python à l’aide de la commande suivante dans la console :
pip install groupdocs-merger-cloud
Veuillez obtenir votre ID client et votre secret à partir du tableau de bord avant de suivre les étapes mentionnées. Une fois que vous avez votre identifiant et votre secret, ajoutez le code comme indiqué ci-dessous :
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"
configuration = groupdocs_merger_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""
Fusionner plusieurs fichiers Excel à l’aide de l’API REST en Python
Vous pouvez combiner deux ou plusieurs fichiers Excel par programme sur le cloud en suivant les étapes mentionnées ci-dessous :
- Télécharger the Excel files to the Cloud
- Fusionner Multiple Excel files using Python
- Télécharger the merged file
Télécharger les fichiers Excel
Tout d’abord, chargez les fichiers Excel dans le Cloud à l’aide de l’exemple de code ci-dessous :
# Créer une instance des API
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)
# télécharger des exemples de fichiers
for filename in glob.iglob("C:\\Files\\upload\\*.xlsx", recursive=True):
destFile = filename.replace("C:\\Files\\upload", "", 1)
# vérifier si le fichier existe déjà
fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
if not fileExistsResponse.exists:
# créer une demande de téléchargement de fichier
request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
# téléverser un fichier
file_api.upload_file(request)
Par conséquent, les fichiers XLSX téléchargés seront disponibles dans la section fichiers de votre tableau de bord sur le cloud.
Fusionner plusieurs fichiers Excel à l’aide de Python
Vous pouvez facilement fusionner plusieurs fichiers Excel en un seul fichier par programmation en suivant les étapes mentionnées ci-dessous :
- Créer une instance de DocumentApi
- Créer le premier JoinItem
- Fournissez le chemin du fichier d’entrée pour le premier JoinItem dans FileInfo
- Créer le deuxième JoinItem
- Fournissez le chemin du fichier d’entrée pour le deuxième JoinItem dans FileInfo
- Si vous le souhaitez, répétez les étapes ci-dessus pour ajouter d’autres fichiers
- Créer les JoinOptions
- Ajouter une liste séparée par des virgules des éléments de jointure créés
- Définir le chemin du fichier de sortie
- Créer le JoinRequest avec JoinOptions
- Appelez la méthode join() avec JoinRequest
L’exemple de code suivant montre comment fusionner plusieurs fichiers Excel à l’aide d’une API REST en Python.
# Créer une instance de l'API
documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(client_id, client_secret)
# Définir le premier fichier d'entrée
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("sample1.xlsx")
# Définir le deuxième fichier d'entrée
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("sample2.xlsx")
# Définir les options de jointure
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "joined.xlsx"
# Créer une demande d'adhésion
request = groupdocs_merger_cloud.JoinRequest(options)
# Joindre les fichiers
result = documentApi.join(request)
# Fait
print("Documents merged: " + result.path)
Télécharger le fichier fusionné
L’exemple de code ci-dessus enregistrera le fichier Excel fusionné sur le cloud. Vous pouvez le télécharger à l’aide de l’exemple de code suivant :
# Initialisation de l'API
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
my_storage = ""
# Créer une demande de fichier de téléchargement
request = groupdocs_merger_cloud.DownloadFileRequest("joined.xlsx", my_storage)
response = file_api.download_file(request)
# Déplacez le fichier téléchargé dans votre répertoire de travail
shutil.move(response, "C:\\Files\\")
Fusionner des feuilles Excel spécifiques à l’aide de Python
Vous pouvez facilement fusionner des feuilles Excel spécifiques à partir de plusieurs fichiers Excel dans un seul fichier par programmation en suivant les étapes mentionnées ci-dessous :
- Créer une instance de DocumentApi
- Créer le premier JoinItem
- Fournissez le chemin du fichier d’entrée pour le premier JoinItem dans FileInfo
- Créer le deuxième JoinItem
- Fournissez le chemin du fichier d’entrée pour le deuxième JoinItem dans FileInfo
- Définir le numéro de feuille de début et le numéro de feuille de fin pour le deuxième JoinItem
- Facultativement, définissez le mode de plage
- Créer les JoinOptions
- Ajouter une liste séparée par des virgules des éléments de jointure créés
- Définir le chemin du fichier de sortie
- Créer le JoinRequest avec JoinOptions
- Obtenez des résultats en appelant la méthode join() de DocumentAPI
L’extrait de code suivant montre comment fusionner des feuilles Excel spécifiques à partir de plusieurs fichiers à l’aide d’une API REST en Python.
# Créer une instance de l'API
documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(client_id, client_secret)
# Définir le premier fichier d'entrée
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("sample1.xlsx")
# Définir le deuxième fichier d'entrée
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("sample2.xlsx")
# Définir la plage de numéros de feuilles à fusionner
item2.start_page_number = 3
item2.end_page_number = 4
# Mode gamme
item2.range_mode = "OddPages"
# Définir les options de jointure
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "joined_sheets.xlsx"
# Créer une demande d'adhésion
request = groupdocs_merger_cloud.JoinRequest(options)
# Joindre les fichiers
result = documentApi.join(request)
# Fait
print("Documents merged: " + result.path)
Essayez en ligne
Veuillez essayer l’outil de fusion XLSX en ligne gratuit suivant, qui est développé à l’aide de l’API ci-dessus. https://products.groupdocs.app/merger/xlsx
Conclusion
Dans cet article, vous avez appris à fusionner plusieurs fichiers Excel sur le cloud. De plus, vous avez vu comment fusionner des feuilles Excel spécifiques de plusieurs fichiers en un seul fichier à l’aide d’une API REST en Python. Cet article a également expliqué comment télécharger par programmation des fichiers XLSX dans le cloud, puis télécharger le fichier fusionné à partir du cloud. L’API vous permet également de réorganiser ou de remplacer les pages du document, de modifier l’orientation de la page, de gérer les mots de passe des documents et d’effectuer facilement d’autres manipulations pour tout format de fichier pris en charge. Vous pouvez en savoir plus sur l’API GroupDocs.Merge Cloud à l’aide de la documentation. Nous fournissons également une section API Reference qui vous permet de visualiser et d’interagir avec nos API directement via le navigateur. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.