如何使用C#在Excel中更改系列颜色?

3 c# excel charts colors series

我用C#编写了一个程序,它从CSV文件中自动生成一个图形并将其放到一个新的XLS文件中.但是,我需要将Line的颜色(因为它是折线图)更改为红色而不是默认的蓝色.

我发现这很难做到,而且我在网上发现的东西都没用.请有人能告诉我怎么做吗?

Ern*_*rno 7

这是一个例子.我注意到当我尝试传递一个整数时,字节似乎以相反的顺序读取.因此,分配0xFF0000使颜色0x0000FF变为蓝色并将线条变为红色.幸运的是,Microsoft提供了一个枚举.

Random random = new Random();
Microsoft.Office.Interop.Excel.Application xla = new Microsoft.Office.Interop.Excel.Application();
xla.Visible = true;
Workbook wb = xla.Workbooks.Add(XlSheetType.xlWorksheet);

Worksheet ws = (Worksheet)xla.ActiveSheet;

// Now create the chart.
ChartObjects chartObjs = (ChartObjects)ws.ChartObjects();
ChartObject chartObj = chartObjs.Add(150, 20, 300, 300);
Chart xlChart = chartObj.Chart;
for (int row = 0; row < 16; row++)
{
    ws.Cells[row + 2, 2] = row + 1;
    ws.Cells[row + 2, 3] = random.Next(100);
}

Range xValues = ws.Range["B2", "B17"];
Range values = ws.Range["C2", "C17"];

xlChart.ChartType = XlChartType.xlLine;
SeriesCollection seriesCollection = chartObj.Chart.SeriesCollection();

Series series1 = seriesCollection.NewSeries();
series1.XValues = xValues;
series1.Values = values;

series1.Format.Line.ForeColor.RGB = (int)XlRgbColor.rgbRed;
series1.Format.Line.Weight = 5;
Run Code Online (Sandbox Code Playgroud)


Ste*_*bob 6

大多数这类问题来自无法找到需要更改的确切对象和属性.

获取此信息的可靠方法是打开Excel文件并转到折线图.开始录制宏,然后更改要更改的项目.停止录制宏,并查看它生成的代码.这将为您提供必须使用的确切对象和属性.

然后,您可以确保您的C#代码使用正确的对象和属性语法.