C#OpenXML ClosedXML读取/设置图表轴最小值

时间:2016-03-30 17:27:49

标签: c# excel charts openxml closedxml

我有一个带有“标记线”图表的Excel电子表格。该图表来自同一工作簿中单独数据表中的数据。如果我使用ClosedXML SDK打开工作簿,然后仅更改数据表,它会将数据值更改为全零,并将图表上的Y轴(对于此示例).92到1.10更改为0%到100%,完全忽略我将轴设置为自动并指定轴范围“链接到源”的事实。

奇怪的是,在Excel中,图表仍然显示数据已链接,单击数据范围会突出显示它们链接的值,并且它们是正确的。不过,图表显示为零

我现在处于这一点,无论是OpenXML,ClosedXML还是其他任何工具都无关紧要,只要它在C#中。我只需要图表就可以了。

以下是同一图表的两个示例图片:

在: Chart Before

在: Chart After

这是我的代码,它带有一个列表列表,其中包含我从API调用中获得的CSV响应中的值,然后更新给定的电子表格:

private bool UpdateSheetFrom2DList(string filename, string sheetName, List<List<string>> lstVals)
{
    bool rtn = false;
    try
    {
        var workbook = new XLWorkbook(filename);
        IXLWorksheet ws = workbook.Worksheet(sheetName);

        for (int y = 0; y < lstVals.Count; y++)
        {
            List<string> lstRow = lstVals[y];
            for (int x = 0; x < lstRow.Count; x++)
            {
                ws.Cell(y+1, x+1).Value = lstRow[x].Replace("\"", "");
            }
        }

        workbook.SaveAs(filename);
        rtn = true;
    }
    catch (Exception ex)
    {
        error = String.Format("EXCEPTION occurred updating {0} from XDBOA CSV: {1}", filename, ex.Message);
    }

    return rtn;
}

所以,我读过的所有内容都表明ClosedXML没有这种修改图表轴的能力,所以我必须使用OpenXML。但我也没有任何运气。

0 个答案:

没有答案