要对特定列中的所有行应用数据验证,请使用以下顺序:
import xlsxwriter
workbook = xlsxwriter.Workbook('data_validate2.xlsx')
worksheet = workbook.add_worksheet()
status_col_loc=1
for row in range(1,50000):
worksheet.data_validation(xlsxwriter.utility.xl_rowcol_to_cell(row,status_col_loc) ,{'validate':'list' ,'source': ['Closed','Pending','Redirected']})
workbook.close()
当应用的行数小于 50K 时,此方法可以完美运行。超出此范围,它会损坏 excel 文件
有没有办法在不损坏 Excel 文件的情况下对超过 100K 行进行验证?
Excel 有一个未记录的限制:每个工作表有 60,000 个唯一的非连续数据验证。
Excel 通过使用重复验证优化(60,000 次之后),支持超过 60,000 个非唯一、非连续数据验证。
但是,XlsxWriter 不支持此优化,因此您必须将工作表中的数据验证限制为 60,000。
2023 年更新:Excel 每个工作表 60,000 个唯一非连续数据验证的限制仍然存在。然而,对于 60,000 个非唯一、非连续数据验证的第二种情况,现在可以使用multi_range
的特征worksheet.data_validation()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)