在 Excel 对象模型自动化界面中按名称获取工作表

use*_*335 3 excel python-2.7 xlsxwriter

有没有办法使用 XlsxWriter 按名称获取工作表?

import win32com.client, types, pythoncom, sys, os, string
import xlsxwriter
xlApp = win32com.client.Dispatch("Excel.Application")
for file in os.listdir("C:\Users\\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))
Run Code Online (Sandbox Code Playgroud)

Chr*_*sen 5

XlsxWriter 0.8.7 现在提供了一种方法来做到这一点。例如:

worksheet = workbook.get_worksheet_by_name("Sheet1")
Run Code Online (Sandbox Code Playgroud)

请参阅:http : //xlsxwriter.readthedocs.io/workbook.html#get_worksheet_by_name