对特定列中的所有行应用数据验证,使用以下序列:
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行?
答案 0 :(得分:2)
Excel每个工作表的未记录限制为60,000个唯一的非连续数据验证。
Excel确实支持>通过使用重复验证的优化(60,000之后),获得60,000个非唯一,非连续数据验证。
但是,XlsxWriter不支持此优化,因此您必须将工作表中的数据验证限制为60,000。