从 xlsxwriter 生成的 excel 图表中隐藏 #N/A 或空单元格
Hiding #N/A or empty cells from an excel chart produced by xlsxwriter
本质上,我正在使用 xlsxwriter 生成大量图表,并试图确保在我拥有 #N/A 的图表中出现空白。不幸的是,除非选择 show #N/A as empty cell 设置,否则这是不可能的(我不认为它是受支持的功能,因为它对于 excel 来说是相对较新的)。
我目前正在使用以下代码生成上述内容:
from xlsxwriter.workbook import Workbook
workbook = Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': True})
headings = ['Number', 'Value']
line_chart = workbook.add_chart({'type': 'line'})
line_chart.add_series({
'categories': '={1,2,3,4,5,6}',
'values': '={2,#N/A,2,3,4,#N/A}'
})
worksheet.insert_chart('F2', line_chart)
workbook.close()
我知道如果我改成下面这样,问题就解决了,但是我的目标是使用上面的方法。如果不可能那也没关系。
from xlsxwriter.workbook import Workbook
workbook = Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': True})
headings = ['Number', 'Value']
data = [
[1, 2, 3, 4, 5, 6],
[2,'', 2, 3, 4,'=NA()'],
]
worksheet.write_row('A1', headings, bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
line_chart = workbook.add_chart({'type': 'line'})
line_chart.add_series({
'categories': '=Sheet1!$A:$A',
'values': '=Sheet1!$B:$B',
})
worksheet.insert_chart('F2', line_chart)
workbook.close()
Unfortunately it is not possible unless the show #N/A as empty cell setting is selected (I dont believe it is a supported feature as it is relatively new for excel).
没错。看起来该功能是最近在 Excel 16 中添加的(XML 元素是 <c16r3:dataDisplayOptions16>
)。所以它在 XlsxWriter 中不受支持。
请注意,可以使用 chart.show_blanks_as():
设置前 3 个选项
chart.show_blanks_as('span')
可用的选项是:
gap
:空白数据显示为间隙。默认值。
zero
:空白数据显示为零。
span
: 空白数据用线连接
本质上,我正在使用 xlsxwriter 生成大量图表,并试图确保在我拥有 #N/A 的图表中出现空白。不幸的是,除非选择 show #N/A as empty cell 设置,否则这是不可能的(我不认为它是受支持的功能,因为它对于 excel 来说是相对较新的)。
我目前正在使用以下代码生成上述内容:
from xlsxwriter.workbook import Workbook
workbook = Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': True})
headings = ['Number', 'Value']
line_chart = workbook.add_chart({'type': 'line'})
line_chart.add_series({
'categories': '={1,2,3,4,5,6}',
'values': '={2,#N/A,2,3,4,#N/A}'
})
worksheet.insert_chart('F2', line_chart)
workbook.close()
我知道如果我改成下面这样,问题就解决了,但是我的目标是使用上面的方法。如果不可能那也没关系。
from xlsxwriter.workbook import Workbook
workbook = Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': True})
headings = ['Number', 'Value']
data = [
[1, 2, 3, 4, 5, 6],
[2,'', 2, 3, 4,'=NA()'],
]
worksheet.write_row('A1', headings, bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
line_chart = workbook.add_chart({'type': 'line'})
line_chart.add_series({
'categories': '=Sheet1!$A:$A',
'values': '=Sheet1!$B:$B',
})
worksheet.insert_chart('F2', line_chart)
workbook.close()
Unfortunately it is not possible unless the show #N/A as empty cell setting is selected (I dont believe it is a supported feature as it is relatively new for excel).
没错。看起来该功能是最近在 Excel 16 中添加的(XML 元素是 <c16r3:dataDisplayOptions16>
)。所以它在 XlsxWriter 中不受支持。
请注意,可以使用 chart.show_blanks_as():
设置前 3 个选项chart.show_blanks_as('span')
可用的选项是:
gap
:空白数据显示为间隙。默认值。zero
:空白数据显示为零。span
: 空白数据用线连接