1

グラフを含む Excel ファイルがあります。

Open XML SDK が提供する chartPart プロパティを使用してグラフを参照できます。

これからグラフの種類 (棒、円、折れ線など) を取得するにはどうすればよいですか?

PSこのchartPart変数の構造を調べましたが、タイプ、軸、色などの情報を正確に見つける場所を見つけることができませんでした.

4

1 に答える 1

2

チャートタイプを取得するリフレクションの概念を使用できます

private IEnumerable<Type> GetExcelChartTypes()
        {
            IEnumerable<Type> items = new List<Type>();
            try
            {
                DocumentFormat.OpenXml.Drawing.Charts.LineChart linechart = new DocumentFormat.OpenXml.Drawing.Charts.LineChart();
                items = Assembly.GetAssembly(linechart.GetType()).GetTypes().Where(S => S.Name.EndsWith("Chart"));
            }
            catch
            {

            }
            return items;
        }

そうする前に、すべてのチャートパーツを取得します

IEnumerable chartparts = Spreadsheet.DrawingsPart.ChartParts;

次に、以下の行でチャート オブジェクトを取得します

IEnumerable グラフ = chartpart.ChartSpace.ChildElements.OfType(); .

各チャート オブジェクトはプロット エリア オブジェクトを取得し、GetType() でオブジェクトのタイプを取得します。

その後、確かにチャートの名前を取得します。

于 2013-12-27T05:56:54.010 に答える