您可以使用win32com来运行Excel(假设您的计算机上有Windows和Excel),而不是使用读取Excel文件的库。然后可以使用VBA文档帮助您在Excel中导航。在
我不得不用包含没有绑定到单元格的复选框的电子表格来完成。所有的复选框都有默认名称(例如“复选框1”),所以我按名称搜索它们。在from win32com.client import gencache
excel = gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(r"C:\Temp\MySpreadsheet.xlsx")
ws = wb.Worksheets.Item(1)
print('Shape count: %s' % len(ws.Shapes))
for shape in ws.Shapes:
if shape.Type == 8: # form control
if 'Check Box' in shape.Name:
print('%s: %s' % (shape.AlternativeText, shape.ControlFormat.Value))
显然,复选框的值是1.0(true)或-4146(false)。在
您可以轻松获取其他信息,例如工作表的名称或单元格的值。在
^{pr2}$