私はC#アプリケーションからExcelでいくつかのチャートを作成しようと数時間を費やしました。私は複数のチャートオブジェクトを作成しようとしています。これを行うより良い方法はありますか?私は、 "chartObject [col] =(Excel.Chart)oWB.Charts.Add(Missing.Value、Missing.Value、Missing.Value、Missing.Value)という行を"私が間違っているところです。複数のExcelチャートオブジェクトを作成するC#
私はこの行を呼び出すと、最後のグラフのコピーを作成することがありますが、時にはそれが動作することもあります。私はそれに対する論理を全く理解できません。
おかげ
private void CreateCharts(Excel.Worksheet oWS, int numRows, int numCols)
{
Excel.Workbook oWB = (Excel.Workbook)oWS.Parent;
Excel.Series oSeries;
//Excel._Chart chartObject;
Excel.Chart[] chartObject = new Excel.Chart[numCols];
Excel.SeriesCollection[] oSeriesCollection = new Excel.SeriesCollection[numCols];
int length = numRows + 2;
string colname;
//then you can assign as much as series you want,
for (int col = 0; col < numCols; col++)
{
//create a new chart
chartObject[col] = (Excel.Chart)oWB.Charts.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value);
chartObject[col].ChartType = Excel.XlChartType.xlLine;
oSeriesCollection[col] = (Excel.SeriesCollection)chartObject[col].SeriesCollection();
//add the actual occupancy
colname = GetExcelColumnName(col * 3 + 1);
oSeries = oSeriesCollection[col].NewSeries();
oSeries.Values = oWS.Range[colname + "2", colname + length];
//add the expected occupancy
colname = GetExcelColumnName(col * 3 + 2);
oSeries = oSeriesCollection[col].NewSeries();
oSeries.Values = oWS.Range[colname + "2", colname + length];
}
}
私は思ったんだけどは、 ASP.NETのチャートコントロールを使用する場合に役立ちます。またはこれをExcelに配置する必要がありますか?チャートコントロールはチャートをウェブページに置くことができます。私は約1年前にこれを設定しました。あなたに質問がある場合は、私に教えてください。 http://archive.msdn.microsoft.com/mschartまた、Sencha extjsフレームワークをチャート作成に使用することもできます(http://www.sencha.com)。 – MacGyver
Excel用にどのライブラリを使用しているか教えてください。また、(メソッドの最初のパラメータに基づいて)ワークブックとワークシートを取得するコードを提供できる場合は、それも役に立ちます。 – MacGyver