有没有办法将sheet.add_table()与使用rich_text/url格式的某些列一起使用?

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

我有一些代码,其中有一个大表,我正在提前准备(通常非常大,因此在表中逐行添加行会破坏性能)。有些列是由 URL 组成的,我想用一些较短的文本(如“单击此处”)隐藏这些 URL。我今天就是找不到办法做到这一点。

    xls_headers = ['col1', 'col2', 'col3', 'url']
    big_data = ['one', 'two', 'three',  'https://wwwwww/']
    xls_worksheet.add_table(0, 0, 1, 3,
      {'header_row': True, 'data': big_data, 'columns': xls_headers}
      )

我期望,例如,某些值可以是一个字典,而不是给出一个字符串数组:

{ '格式:'url', '文本': '点击此处', 'url'='https://xxxx...' }

然后 add_table() 会检测到这样的对象并使用 make_url() 或 make_rich_text() 子例程...

谢谢你!

编辑:添加了一些代码示例

xlsxwriter
1个回答
0
投票

我不知道 XlsxWriter 中有任何“批量格式化”方法。

但是如果您想要格式化的只是 URL,您可以在数据中写入 '=HYPERLINK("https://wwwwww/", "click here")' :

workbook = xlsxwriter.Workbook('test.xlsx')
xls_worksheet = workbook.add_worksheet('Main')

xls_headers = ['col1', 'col2', 'col3', 'url']
big_data = [['one', 'two', 'three', '=HYPERLINK("https://wwwwww/", "click here")']]
xls_worksheet.add_table(0, 0, 1, 3,
                        {'header_row': True, 'data': big_data,  'columns': [{'header': x} for x in xls_headers]}
                        )

workbook.close()
© www.soinside.com 2019 - 2024. All rights reserved.