Click here to Skip to main content
14,384,168 members
Rate this:
Please Sign up or sign in to vote.
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, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100