我有这个有效:
chart.set_title({'name': '=Sheet1!$A$2'})
我想要的功能是这样的;
chart.set_title({'name': '=Sheet1!$A$2' + ' to ' + '=Sheet1!$B$2'})
这会产生Unknown worksheet reference
的错误。两个单元格都包含日期,因此它看起来像1/1/2011 to 4/4/2014
。我无法找到有关如何执行此操作的任何示例in the docs。
还根据现已删除的建议答案尝试了这个:
chart.set_title({'name': '=CONCATENATE(Sheet1!$A$2, " to ", Sheet1!$B$2)'})
然而,似乎set_title
不接受公式。可以将此公式写入单元格,然后在set_title
中引用该单元格。有点像kluge:
worksheet.write(9, 20, '=CONCATENATE(Sheet1!$A$2, " to ", Sheet1!$B$2)')
chart.set_title({'name': '=Sheet1!$U$10'}) #(9,20)
答案 0 :(得分:1)
我认为你不想在Excel中做到这一点。
这是一个有效的XlsxWriter示例,使用您在上面显示的公式。
import xlsxwriter
workbook = xlsxwriter.Workbook('chart_column.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': 1})
headings = ['Number', 'Batch 1', 'Batch 2']
data = [
[2, 3, 4, 5, 6, 7],
[10, 40, 50, 20, 10, 50],
[30, 60, 70, 50, 40, 30],
]
worksheet.write_row('A1', headings, bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])
chart = workbook.add_chart({'type': 'column'})
chart.add_series({
'name': '=Sheet1!$A$1',
'categories': '=Sheet1!$A$2:$A$7',
'values': '=Sheet1!$B$2:$B$7',
})
chart.set_title({'name': '=CONCATENATE(Sheet1!$A$2, " to ", Sheet1!$B$2)'})
worksheet.insert_chart('E2', chart)
workbook.close()
这会发出警告,但它仍会生成一个带有如下图表的有效工作簿:
标题不可见但你编辑它的公式就在那里。但是,如果您尝试更改它,Excel会抱怨它不是一个有效的公式。因此,Excel似乎不支持此功能。
如果您认为可以在Excel中显示并且可以显示示例,我将研究如何在XlsxWriter中支持它。