使用pythons xlsxwriter模块创建的Excel工作表运行速度太慢

时间:2014-08-30 18:41:56

标签: excel

我使用xlsxwriter python模块创建了一个包含2个系列的柱形图,其中包含以下代码。当我在Microsoft Excel中打开文件时,导航速度很慢。

def create_2_series_column_chart(self, sheet_obj, series_1, series_2, chart_name, x_axis_name, y_axis_name, location):
    chart1 = self.output_workbook.add_chart({'type': 'column'})
    chart1.add_series(series_1)
    chart1.add_series(series_2)
    chart1.set_title({'name': chart_name})
    chart1.set_x_axis({'name': x_axis_name})
    chart1.set_y_axis({'name': y_axis_name})

    chart1.set_style(42)

    sheet_obj.insert_chart(location, chart1, {'x_offset': 25, 'y_offset': 10})


    series_1 = {
        'name':       ["MY_SHEET", 2, 1],
        'categories': ['MY_SHEET', 3, 0, 2+num_days_in_month, 0],
        'values':     ['MY_SHEET', 3, 15+2*ix+1, 2+num_days_in_month, 15+2*ix+1],
        }

    series_2 = {
        'name':       ["MY_SHEET", 2, 2],
        'categories': ['MY_SHEET', 3, 0, 2+num_days_in_month, 0],
        'values':     ['MY_SHEET', 3, 16+2*ix+1, 2+num_days_in_month, 16+2*ix+1],
        #'data_labels': {'value': True, 'position': 'top'}
        }

location = ["A", "J", "S", "AB"][ix]+ "54"
self.create_2_series_column_chart(self.my_worksheet, series_1, series_2, "CHARTS", 'days', 'count', location)

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

XlsxWriter以与Excel完全相同的方式创建图表,并且有200 comparison tests against chart spreadsheets created in Excel来验证图表。因此,从理论上讲,XlsxWriter没有做任何会产生慢速图表的事情。此外,没有其他人报告任何类似的问题,并且XlsxWriter中的图表功能被大量使用。

尽管如此,你显然已经看到了一个问题,所以这里有一些事情需要研究:

  1. 检查图表用于绘制数据的数据范围。在Excel中右键单击图表并选择“选择数据”。然后验证正在绘制的数据是否正确。特别是要查找意外长的数据范围或包含不正确数据的数据范围。
  2. 将文件保存在Excel中,关闭它,然后重新打开它。在这种情况下,您是否看到相同的行为?
  3. 如果两者都没有突出显示问题或为您提供更多线索,那么您可以submit a bug report。但是,这需要一个小的,完整的,可用的示例来说明问题。如上所述的代码段不足以找到这样的问题。

    P.S。我是XlsxWriter的作者。