2017-09-22 6 views
0

Je souhaite créer un fichier PDF par plages dans tous les classeurs Excel situés dans un dossier donné (folderwithallfiles). Tous les classeurs auront la même structure de sorte que la référence de plage sera la même pour tous les classeurs.Enregistrer la sélection de plusieurs classeurs Excel dans un fichier pdf avec Python

Je pensais l'avoir avec le script ci-dessous, mais cela ne fonctionne pas.

import win32com.client as win32 
import glob 
import os 

xlfiles = sorted(glob.glob("*.xlsx")) 
#print "Reading %d files..."%len(xlfiles) 

cwd = "C:\\Users\\user\folderwithallfiles" 
#cwd = os.getcwd() 
path_to_pdf = r'C:\\Users\\user\folderwithallfiles\multitest.pdf' 
excel = win32.gencache.EnsureDispatch('Excel.Application') 
for xlfile in xlfiles: 
    wb = excel.Workbooks.Open(cwd+"\\"+xlfile) 
    ws = wb.Sheets('sheet 1') 
    ws.Range("A1:Q59").Select() 

    wb.ActiveSheet.ExportAsFixedFormat(0, path_to_pdf) 

Répondre

0

Veuillez vérifier le code ci-dessous si cela fonctionne. J'ai écrit à la volée. Faites-moi savoir si vous trouvez des problèmes.

import pandas as pd 
import numpy as np 
import glob 
import pdfkit as pdf 

all_data = pd.DataFrame() 
for f in glob.glob("filepath\file*.xlsx"): 
    df = pd.read_excel(f) 
    all_data = all_data.append(df, ignore_index=True) 

all_data.to_html("filepath\all_data.html) 
pdf.from_file("filepath\all_data.html", "filepath\all_data.pdf") 
+0

Merci, mais qui ne fait pas exactement pour moi :(ne l'avez pas à travailler, et je suppose que l'aide numpy va supprimer la mise en forme dans Excel, comme la police, la taille des cellules de couleurs anc, que je veux préserver dans mon rapport final .pdf? – NRVA