Есть ли способ использовать XlsxWriter для получения рабочего листа по имени?Получить рабочий лист по имени в интерфейсе автоматизации объектной модели Excel
import win32com.client, types, pythoncom, sys, os, string
import xlsxwriter
xlApp = win32com.client.Dispatch("Excel.Application")
for file in os.listdir("C:\Users\HUTRC1\Desktop\Escel"):
if file.endswith(".xlsx"):
fileName = file
books = xlApp.Workbooks.Open(r"C:\\Users\\Desktop\\Escel\\" + str(fileName))
ws = books.sheet_by_name("2015 Data")
#ws = books.Worksheets[0]
ws.Visible = 1
fileName.replace(".xlsx","")
ws.ExportAsFixedFormat(0, r"C:\\Users\\Desktop\\PDF\\" + str(fileName) + str(".pdf"))
books.Close(True, r"C:\\Users\\Desktop\\Escel\\" + str(fileName))
AFAIK, вы не можете прочитать рабочие листы Excel на всех с xlsxwriter, просто создать их. – RBarryYoung
Использование Python, [этот вопрос] (http://stackoverflow.com/questions/12250024/how-to-obtain-sheet-names-from-xls-files-without-loading-the-whole-file-in- pytho) поможет вам получить имя рабочего листа? – BruceWayne
@RBarryYoung ws = books.Worksheets [0], похоже, все-таки это делает. Я думаю, это насколько вы можете пойти с xlsxwriter. – user3078335