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

标签 c# excel charts colors series

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

我发现这很难做到,而且我在网上找到的东西也没有用。请问有人可以告诉我该怎么做吗?

最佳答案

这是一个例子。我注意到当我试图传递一个整数时,字节似乎是以相反的顺序读取的。因此,分配 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;

关于c# - 如何使用 C# 在 Excel 中更改系列颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1373130/

相关文章:

c# - 使用 lock 语句在 C# 中递归/嵌套锁定

c# - 连接 C# 和 Java 的最佳方式是什么?

c# - WCF 服务可以处理哪些数据类型?

excel - 通过链接将一张纸上的列转置为另一张纸上的行

r - 如何在 R 中使用误差幅度创建折线图

ios - 在具有相同 X 位置的 Shinobicharts 上显示多个十字准线目标圆圈(iOS)

c# - 相同的值四舍五入给出不同的答案

sql-server - 如何将可执行的sql任务结果存储在excel文件ssis中

javascript - 如何使用javascript在html页面中绘制图表,并使用js从excel中获取数据

excel - 是否可以仅使用 Excel 公式生成此结果(列表到矩阵布局)?