xlsxwriter:如何把一个内部的超链接放在一个表格中,并将内容格式化为整数

下面的代码片段工作正常(包括链接) – 除了这是一个有很多链接的大表格,并且最后一张表格加载了警告(“这个单元格中的数字被格式化为文本或者以撇号开头”)。 这是真的,但写入方法不会接受最后一个参数中的整数,并且write_number()似乎不接受像写入方法的超链接参数。 警告可以在Excel中手动修补,但这不是一个真正的select。 我宁愿将它格式化为一个整数,但是如果我可以停止在生成的Excel文件中获得所有警告,将会得到满足。 我尝试了各种格式设置,尝试了各种选项,包括在工作簿创build中添加“{'strings_to_numbers':True}”。

stream = StringIO() workbook = xlsxwriter.Workbook(stream, {'strings_to_numbers': True}) integer_format = workbook.add_format({'num_format': '#,##0'}) linkable_sheet = workbook.add_worksheet('linkable_sheet') main_sheet = workbook.add_worksheet('main_sheet') main_sheet.add_table(0,0,2,2) main_sheet.write(1, 0, 'internal:linkable_sheet!A1', integer_format, '100') workbook.close() stream.seek(0) return stream.getvalue() 

谢谢

XlsxWriter可能应该接受像这样的情况下的整数/浮点数。 我会考虑在未来的版本。

与此同时,文档中推荐的解决方法是用虚拟(或否)string编写url,然后用任何types/数据覆盖url的string部分。

尝试修改您的示例,如下所示:

 ... main_sheet.write(1, 0, 'internal:linkable_sheet!A1', integer_format) main_sheet.write(1, 0, 100, integer_format) ...