-
Notifications
You must be signed in to change notification settings - Fork 305
Expand file tree
/
Copy pathStyleTests.cs
More file actions
144 lines (111 loc) · 5.43 KB
/
Copy pathStyleTests.cs
File metadata and controls
144 lines (111 loc) · 5.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
using OfficeOpenXml;
using System.Drawing;
namespace EPPlus.Export.ImageRenderer.Tests
{
[TestClass]
public class StyleTests : TestBase
{
[TestMethod]
public void BaseThemeChartStyle()
{
ExcelPackage.License.SetNonCommercialOrganization("EPPlus Project");
using (var p = OpenTemplatePackage("baseThemeChartStyle.xlsx"))
{
var c = p.Workbook.Worksheets[0].Drawings[0].As.Chart.LineChart;
var svg = c.ToSvg();
//var renderer = new EPPlusImageRenderer.ImageRenderer();
//var svg = renderer.RenderDrawingToSvg(c);
SaveTextFileToWorkbook($"svg\\baseThemeChartStyle.svg", svg);
}
}
[TestMethod]
public void ExtractThemeStyleWorks()
{
ExcelPackage.License.SetNonCommercialOrganization("EPPlus Project");
using (var p = OpenTemplatePackage("MyLineIonThemeExcel.xlsx"))
{
var wbStyles = p.Workbook.Styles;
var simpleChart = p.Workbook.Worksheets[0].Drawings[0].As.Chart.LineChart;
simpleChart.Title.Text = "Hello";
//p.Workbook.ThemeManager.CurrentTheme.ColorScheme.Accent1.SetPresetColor(Color.DarkGoldenrod);
var chartDefaultStyle = simpleChart.StyleManager.Style;
//simpleChart.StyleManager.SetChartStyle(OfficeOpenXml.Drawing.Chart.Style.ePresetChartStyle.LineChartStyle2);
////var fillStyle = simpleChart.StyleManager.Style.DataPointLine.Border.Fill;
//var svgFill = new SvgFill(fillStyle);
//var fillTranslator = new SvgFillTranslator(svgFill);
//var context = new TranslatorContext(new HtmlRangeExportSettings());
//var declarations = fillTranslator.GenerateDeclarationList(context);
//var styleClass = new CssRule("Style", 0);
//context.SetTranslator(fillTranslator);
//context.AddDeclarations(styleClass);
simpleChart.StyleManager.ApplyStyles();
//chartDefaultStyle.DataPointLine.FillReference.Color
simpleChart.Title.Font.Color = Color.CornflowerBlue;
//simpleChart.StyleManager.Style.Title.FontReference.Color.SetPresetColor(Color.CornflowerBlue);
//Highest order of styling if datapoint does not exist
//simpleChart.StyleManager.Style.DeleteAllNode("cs:dataPointLine");
simpleChart.StyleManager.Style.DataPointLine.BorderReference.Color.SetPresetColor(Color.Green);
//simpleChart.StyleManager.Style.DataPointLine.Border.Fill.DeleteNode(path);
simpleChart.StyleManager.Style.DataPointLine.Border.Fill.Color = Color.Red;
//simpleChart.StyleManager.Style.DataPointLine.Fill.Color = Color.Green;
//simpleChart.StyleManager.Style.DataPoint.Fill.Color = Color.Yellow;
//simpleChart.StyleManager.Style.DataPoint.Border.Fill.Color = Color.Magenta;
simpleChart.StyleManager.ApplyStyles();
simpleChart.Title.TextBody.Paragraphs[0].TextRuns[0].Fill.Color = Color.CornflowerBlue;
var svg = simpleChart.ToSvg();
SaveTextFileToWorkbook($"svg\\MyLineIonThemeExcel2.svg", svg);
//var serLine = chartDefaultStyle.SeriesLine;
//var lineElement = serLine.Border.LineElement;
//var serLineFillRef = serLine.Border.Fill;
//var myFillRef = chartDefaultStyle.Title.FillReference;
//var myFill = chartDefaultStyle.Title.Fill;
//var myLine = chartDefaultStyle.Title.Border;
SaveAndCleanup(p);
}
}
[TestMethod]
public void TextRunIsStyledButNotTitleFont()
{
ExcelPackage.License.SetNonCommercialOrganization("EPPlus Project");
var chartName = "ChartLineDefaultDownUp.xlsx";
using (var p = OpenTemplatePackage(chartName))
{
var ws = p.Workbook.Worksheets[0];
var lChart = ws.Drawings[0].As.Chart.LineChart;
//lChart.Title.Font.Color = Color.DeepSkyBlue;
lChart.StyleManager.ApplyStyles();
SaveAndCleanup(p);
}
//using(var p= OpenPackage(chartName,false))
//{
//}
}
///// <summary>
///// Exports an <see cref="ExcelTable"/> to a html string
///// </summary>
///// <returns>A html table</returns>
//public string GetCssString()
//{
// using (var ms = EPPlusMemoryManager.GetStream())
// {
// RenderCss(ms);
// ms.Position = 0;
// using (var sr = new StreamReader(ms))
// {
// return sr.ReadToEnd();
// }
// }
//}
///// <summary>
///// Exports the css part of the html export.
///// </summary>
///// <param name="stream">The stream to write the css to.</param>
///// <exception cref="IOException"></exception>
//public void RenderCss(Stream stream)
//{
// var trueWriter = new CssWriter(stream);
// var cssRules = CreateRuleCollection(_settings);
// trueWriter.WriteAndClearFlush(cssRules, Settings.Minify);
//}
}
}