2016-05-10 8 views
1

openpyxlを使用してExcelで折れ線グラフを作成する次のコードがあります。問題は、Excelファイルが生成されるときにチャートコンテナがワークシートに追加されるが空であり、グラフが表示されないということです。私は参照オブジェクトをチェックし、うまく見えます。これを引き起こしている可能性のある考えはありますか?openpyxl値への参照を追加した後、LineChartが空になって表示される

c1 = LineChart() 
c1.title = "Line Chart" 
c1.style = 10 
c1.y_axis.title = 'Utilization' 
c1.x_axis.title = 'Month' 

data = Reference(worksheet, min_col = 2, min_row = 2, max_col = 2, max_row = 10) 
print(data) #this prints Sheet 1!$B$2:$B$10 
c1.add_data(data) 
worksheet.add_chart(c1, "E2") 
+0

で は、範囲B2内のすべてのデータが実際にあります:B10? –

+0

はい、実際は人口の多い範囲ははるかに大きいですが、私は成功していない小さなセットでテストしています。 – sebastianhrp

+0

すべては大丈夫ですが、ファイルなしでは言うまでもありません。メーリングリストで議論を続けたいと思うかもしれません。 –

答えて

2

私はopenpyxlに非常によく似た問題がありました。後でシリーズのxとyデータ参照で使用されるワークシート名のハイフン文字( ' - ')であることが判明しました。私はハイフンをアンダースコア( '_')文字に置き換えて動作させました。あなたのケースワークシート名にスペースを置き換える、またはシート名の前後に単一引用符を追加、すなわち「シート1」

+0

このバグのような空白は修正されています(少なくとも私にとってはうまくいきます)が、別のものがあります。シート名にユニコード記号(たとえばキリル記号)がある場合、グラフを追加できませんでした。 https://bitbucket.org/openpyxl/openpyxl/issues/548/unicode-support-in-charts - ここでは古い固定の問題です、私はメンテナーの注意を引き付けようとしました。 – simplylizz

1
ws = wb.create_sheet(title = work_sheet_name.replace('-', '_')) 
関連する問題