Вопрос:

EPPLUS: установить цвет заливки маркера в LineMarkers

c# wpf epplus epplus-4

622 просмотра

2 ответа

9593 Репутация автора

Я попытался установить все связанные свойства, которые ExcelLineChartSerie может предложить, но все еще не может установить или изменить цвет маркера Excel по умолчанию уродливый синий.

ExcelChart ec = ws.Drawings.AddChart("LineChart01", eChartType.LineMarkers);

var rangeX = ws.Cells["A2:A11"]; // X-Axis
var range1 = ws.Cells["B2:B11"]; // 1st LineSerie

ExcelLineChartSerie serie1 = (ExcelLineChartSerie)ec.Series.Add(range1, rangeX);

serie1.MarkerLineColor = System.Drawing.Color.Gray;
serie1.MarkerSize = 10;
serie1.Fill.Color = System.Drawing.Color.Gray;
serie1.LineColor = System.Drawing.Color.Gray;
serie1.Border.LineStyle = eLineStyle.Solid;

введите описание изображения здесь

Автор: KMC Источник Размещён: 05.01.2018 09:33

Ответы (2)


1 плюс

360 Репутация автора

Решение

Судя по текущему исходному коду , эта функциональность еще не реализована в EPPlus.

Это обсуждение указывает на сообщение SO, в котором показано, как реализовать метод расширения, чтобы добавить функциональность для изменения толщины и цвета линии. Должна быть возможность адаптировать этот код для изменения цвета заливки маркера. Пути к свойствам, которые вам понадобятся для этого, находятся в конце обсуждения codeplex (вторая ссылка выше).

Автор: MaSiMan Размещён: 05.01.2018 10:54

0 плюса

11 Репутация автора

Он доступен в EPPlus ( текущий источник !). Просто конвертируйте свою базовую серию в конкретную.

var chartType3 = chart.PlotArea.ChartTypes.Add(eChartType.Line);
var serie5 = chartType3.Series.Add(worksheet.Cells["F1:F12"], worksheet.Cells["A1:A12"]);
((ExcelLineChartSerie) serie5).Marker = eMarkerStyle.Circle;
((ExcelLineChartSerie) serie5).MarkerLineColor = Color.FromArgb(165, 165, 165);
((ExcelLineChartSerie) serie5).MarkerSize = 5;
Автор: Jevgenijus Размещён: 24.05.2019 10:41
Вопросы из категории :
32x32