使用xlsxwriter merge_row错误

问题描述 投票:2回答:1

[我正在用xlsxwriter导出一个excel文件,我正在尝试使用.merge_range()合并多个单元格,但是即使将其设置为False,我也似乎收到与常量内存相关的错误。

通过以下内容启动工作簿:

workbook = xlsxwriter.Workbook(r'\\network\Checking doc\Monthly Checks.xlsx', {'constant_memory' : False})

单元格格式化由:

merge_header = workbook.add_format({'align' : 'center', 'valign' : 'vcenter', 'border' : 1})
merge_header.set_bg_color('#BFBFBF')

单元格的合并在for循环中使用for循环,该循环通过2个列表来查找单元格坐标。

我的名单上没有好名字,但他们是:

other_checkheads = ["C6 - LOGS", "C7 - HWS", "C8 - TMP", "C9 - WUP", 

"C10 - SWUP", "C11 - ADGP", "C12 - FWSWFIRM", "C13 - WBFIL", "C14 - FILES", "C15 - DOMPASS", "C16 - NAT",
"C17 - SECGP", "C18 - BIOS", "C19 - BIOSFW", "C20 - MOT", "C21 - SSL", "C22 - WARR"]
checkheads_letters = ["Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AG"]

循环是:

for letter in checkheads_letters:
                for head in other_checkheads:
                    row = ((letter + str(2)) + (":") + (letter +str(4)))
                    worksheet.merge_range(row, head, merge_header)
                    print (row)

[当我运行此文件并尝试打开文档时,我收到错误消息:“我们在'Monthly Checks.xlsx'中发现了某些内容的问题。您是否希望我们尝试尽可能地恢复?如果您信任此工作簿的来源,请单击“是。”>

我单击是,然后出现文件使用中的错误,指出文档已被另一用户锁定以进行编辑。如果我选择通知此人,则它将成功打开文档,并提供有关所做维修的注释。

如果我完全删除了fr循环,则文档将打开而没有任何错误。

[我正在用xlsxwriter导出一个excel文件,我试图使用.merge_range()合并多个单元格,但是即使将其设置为...,我似乎仍收到与常量内存相关的错误]]

python excel xlsxwriter
1个回答
2
投票

您会收到一个错误,因为for循环的第一行将merge_range函数应用到同一个单元格区域中的17倍(因为您的列表包含这么多元素)。

这给出了错误:

© www.soinside.com 2019 - 2024. All rights reserved.