2011年2月27日日曜日

グラフを出力


Microsoft::Office::Interop::Excel::Application^ ap1 = gcnew Microsoft::Office::Interop::Excel::ApplicationClass();

Workbook^ wb = ap1->Workbooks->Add(Type::Missing);

Worksheet^ ws  = static_cast<Worksheet^>(ap1->ActiveSheet);

ws->Name = "ワークシート名";

//行、列
ws->Cells[1,1] = "1";
ws->Cells[1,2] = "10";
ws->Cells[2,1] = "2";
ws->Cells[2,2] = "20";
ws->Cells[3,1] = "3";
ws->Cells[3,2] = "30";

//ワークシート上のすべての埋め込みグラフのコレクション (Microsoft.Office.Interop.Excel.ChartObjects)を表すオブジェクトを取得します。
ChartObjects^ chObjs = safe_cast<ChartObjects^>(ws->ChartObjects(Type::Missing));

//新しい埋め込みグラフを作成します。ChartObject オブジェクトを取得します。 
//Add(Left,Top,Width,Height)
ChartObject^ chObj = chObjs->Add(130, 50, 300, 300);

//ブック内のグラフを表します。
Chart^ ch = chObj->Chart;

//セルまたはセルの範囲を表す Microsoft.Office.Interop.Excel.Range オブジェクトを取得します。 
Range^ rn = ws->Range["A2:B3", Type::Missing];

//指定の Chart コントロールのプロパティを変更します。
ch->ChartWizard(rn->CurrentRegion,    //Source 新しいグラフの参照元データが格納されている範囲です。

    Constants::xlColumn,            //Gallery グラフの種類です。

    Type::Missing,                    //Format 組み込みの自動フォーマットのオプション番号です

    XlRowCol::xlColumns,            //PlotBy 各系列のデータが行と列のどちらにあるかを指定します

    1,                                //CategoryLabels 項目軸ラベルが含まれている、参照元の範囲内の行または列の番号を指定する整数です

    Type::Missing,                    //SeriesLabels 系列ラベルが含まれている、参照元の範囲内の行または列の番号を指定する整数です。

    false,                            //HasLegend 凡例を含める場合は true です。

    "グラフタイトル",                //Title Chartコントロールのタイトルのテキストです。

    "X軸タイトル",                    //CategoryTitle 項目軸のタイトルのテキストです。

    "Y軸タイトル",                    //ValueTitle 数値軸のタイトルのテキストです。

    Type::Missing);                    //ExtraTitle 系列軸のタイトル

ap1->Visible = true;

0 件のコメント:

コメントを投稿