我希望用灰色除去第一行/标题之外的所有其他列。我阅读了XLSX Writer的文档,但无法找到任何示例,我也在这里搜索了标签,找不到任何内容。
答案 0 :(得分:2)
为什么不将其设置为条件格式?
http://xlsxwriter.readthedocs.org/example_conditional_format.html
你应该声明一个条件,如“if cells row number%2 == 0”
答案 1 :(得分:0)
我想发布有关我如何执行此操作的详细信息,以及我如何动态执行此操作。它有点像hacky,但我是Python的新手,我现在只需要这个就可以了。
xlsW = pd.ExcelWriter(finalReportFileName)
rptMatchingDoe.to_excel(xlsW,'Room Counts Not Matching',index=False)
workbook = xlsW.book
rptMatchingSheet = xlsW.sheets['Room Counts Not Matching']
formatShadeRows = workbook.add_format({'bg_color': '#a9c9ff',
'font_color': 'black'})
rptMatchingSheet.conditional_format('A1:'+xlsAlpha[rptMatchingDoeColCount]+matchingCount,{'type': 'formula',
'criteria': '=MOD(ROW(),2) = 0',
'format': formatShadeRows})
xlsW.save()
xlsAlpha是一个列表,其中包含我的报告可能具有的最大列数。我的前三列总是一致的,所以我只设置rptMatchingDoeColCount等于2然后当我循环遍历列表来构建我的查询时,我增加计数。 matchingCount变量只是来自数据库中的视图上的count(*)查询的fetchone()结果。
最终我想我会写一个函数来替换分配给xlsAlpha的硬编码列表,这样它就可以是几乎无限量的列。
如果有人对我如何改进这方面有任何建议,请随时分享。