Click here to Skip to main content
15,916,463 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I want to check if property Switch Rows/Columns is enabled or not in a bar chart, while reading it with OpenXml.

What I have tried:

OpenXmlElement sheetdata = sheet.Worksheet.Where(x => x.LocalName.ToLower() == "sheetdata").FirstOrDefault();
List<int> seriesindex = new List<int>();
for (int rowindex = 0; rowindex < sheetdata.Count(); rowindex++)
{
    Row row = (Row)sheetdata.ElementAt(rowindex);
    if (rowindex == 0)
    {
        for (int colindex = 1; colindex < row.Count(); colindex++)
        {
            Cell col = (Cell)row.ElementAt(colindex);
            if (names.ContainsKey(col.CellValue.Text))
            {
                string seriesname = names[col.CellValue.Text];
                int sindex = Array.IndexOf(chartData.Series.ToArray(), seriesname);
                seriesindex.Add(sindex);
            }

        }
    }
    else
    {
        string col = ((Cell)row.ElementAt(0)).CellValue.Text;
        string catname = names.ContainsKey(col) ? names[col] : string.Empty;
        int categoryindex = Array.IndexOf(chartData.Category.ToArray(), catname);
        if (!string.IsNullOrEmpty(catname))
        {
            for (int colindex = 1; colindex < row.Count(); colindex++)
            {
                Cell col1 = (Cell)row.ElementAt(colindex);

                if (seriesindex.ElementAt(colindex - 1) != -1 && categoryindex != -1)
                    col1.CellValue.Text = chartData.Score[seriesindex.ElementAt(colindex - 1)][categoryindex].ToString();


            }
        }
    }
}


sd.Save();


                    //Edit chart object to change chart data
                    ChartSpace chartObj = chartPart.ChartSpace;
<pre lang="c#">
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900