2011-07-25 4 views
4

私はWPF C#で書かれたアプリケーションを使ってExcelワークシートを生成し、いくつかのデータをプロットしています。 xlXYScatterLines,xlXYScatterLinesNoMarkers,xlXYScatterSmooth,xlXYScatterSmoothNomarkersすべて正常に機能しました。Excel xlXYScatterにはC#で生成された行があります

xlXYScatterを除いて、常に生成するデータポイントは線(= xlXYScatterLines)で接続されますが、散在するドットのみを表示することになっています。以下は私のコードです。

Excel.ChartObjects xlCharts = (Excel.ChartObjects)oSheet.ChartObjects(Type.Missing); 
Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(350,20,500,350); 
Excel.Chart chartPage = myChart.Chart; 
chartPage.ChartType = Excel.XlChartType.xlXYScatter; 

これはバグですか?


- 私はチャートタイプを定義する前に、ソースデータを設定した場合、私は偶然見つけ、遊んでの2日後

を[SOLUTION答えません]。問題は発生せず、xlXYScatterはxlXYScatterLinesではなくxlXYScatterとして表示されます。

chartPage.SetSourceData(Range, Missing.Value); 
chartPage.ChartType = Excel.XlChartType.xlXYScatter; 

なぜ、どのようにそれは直感的にあなたがチャートを定義した後、ソースを定義するには、反対にあまり意味がありませんので、これは問題を回避して、私は理解していません。 私はこれを解決策として考えていますが、答えはありません。誰かが依然として質問に答えることを願っています。

+0

おそらく、ChartStyleの特定の値を設定する必要があります - http://msdn.microsoft.com/en-us/library/k06h1bc5.aspx – Yahia

答えて

4

私はこれをC#で行っていませんが、VBAでは似たような悲しみがありました。私はxlXYScatterLinesNoMarkersとしてグラフを作成しなければならなくなりました。その後、グラフが作成された後、タイプをxlXYScatterに変更しました。醜いですが、それはVBAで私にとってはうまくいくようでした。

+0

+1を参照してください。ただし、C#の問題は解決しません。私は仕事を見つけ、私の質問で編集しました。あなたが説明を推論できるかもしれない。 – KMC

+1

@ KMC、私はMicrosoft.Office.Tools.Excelライブラリを掘り下げてきましたが、これまでにこの動作を引き起こしているコードは見つかりませんでした(私はバグと呼んでいます)。 – Stewbob