Chart
Excelでデータを基にグラフを作成、挿入するとパーツが作成されます。この場合に作成されるパーツは、drawingsフォルダに作成される描画フレームを定義したパーツと、chartsフォルダに作成されるチャートのデータ定義の2つがあります。
この2種類のパーツはいずれもDrawingMLを使って定義されています。
drawingのパーツは、シート単位に作成されます。シート1つにつき1つのdrawingのパーツが作成され、drawing1.xml、drawing2.xmlのように番号が付加されます。ただし、ワークシートのパーツファイルの番号とこの番号が同じとは限りません。シートの関連付けファイルでシートとdrawingのパーツが結び付けられます。
グラフのデータとなるチャートのパーツは、チャートごとに作成されます。したがって、1つのシートに2つのグラフが挿入されている場合は、drawingのパーツが1つ、チャートのパーツが2つ作成されます。
以降、実際にワークシートにグラフを挿入した場合の内容を順に説明します。
ここではワークブックの1ページ目のワークシートにグラフを挿入したと想定します。シートのパーツはsheets/sheet1.xmlと仮定します。
シートにグラフを挿入すると、sheet1.xmlには描画データを示すdrawing要素が追加されます。drawing要素はworksheet要素の子要素で、ワークシートのセルデータの部分にはグラフや描画の情報は追加されません。
drawing要素には関連付けIDがあるのみです。このワークシートの関連付けであるsheets/_rels/sheet1.xml.relsファイルを見ると、関連付けIDで参照される描画フレームのパーツのURIが分かります。
drawing1.xmlはDrawingMLを使って定義されます。その内容は、挿入されたグラフのための描画フレームの定義とグラフを作成するための元データのセルの情報です。
このようにdrawingパーツの内容は、DrawingMLのspreadsheedDrawingのカテゴリに分類される要素で定義されています。
twoCellAnchor要素は、オブジェクトがどのセルに対して割り当てられたものかをfrom要素とto要素で指定します。graphicFrame要素のなかで画像オブジェクトの定義がされています。
描画されたグラフは、graphicData要素の中にチャートとして参照する関連付けIDが定義されています。
drawingsフォルダには、drawing1.xmlのための関連付けファイル_rels/drawing1.xml.relsがあります。
chart1.xmlには、描画されるチャートの定義データがあります。このパーツもDrawingMLの一部であるchartのカテゴリーに分類される要素で定義されます。