Skip to content

Commit b9a176f

Browse files
Updated for v24.3.0
1 parent 4a2a6b5 commit b9a176f

File tree

7 files changed

+629
-102
lines changed

7 files changed

+629
-102
lines changed

FileFormat.Slides-Test/Program.cs

+59-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using System.Collections.Generic;
88
using FileFormat.Slides.Common;
99

10+
1011
class Program
1112
{
1213
static void Main ()
@@ -209,8 +210,8 @@ static void Main ()
209210
210211
presentation.Save();
211212
*/
212-
213-
/* Presentation presentation = Presentation.Open("D:\\AsposeSampleData\\test.pptx");
213+
214+
/*Presentation presentation = Presentation.Open("D:\\AsposeSampleData\\test.pptx");
214215
Slide slide = presentation.GetSlides()[2];
215216
216217
// Assign values to the properties of Stylings
@@ -279,6 +280,62 @@ static void Main ()
279280
280281
presentation.Save();*/
281282

283+
Presentation presentation = Presentation.Open("D:\\AsposeSampleData\\test.pptx");
284+
Slide slide = presentation.GetSlides()[0];
285+
286+
Table table = slide.Tables[0];
287+
table.Theme = Table.TableStyle.LightStyle3;
288+
TableRow row2 = new TableRow(table);
289+
TableCell cell21 = new TableCell(row2);
290+
cell21.Text = "915";
291+
cell21.ID = table.Columns[0].Name;
292+
row2.AddCell(cell21);
293+
TableCell cell22 = new TableCell(row2);
294+
cell22.Text = "Allen";
295+
cell22.ID = table.Columns[1].Name;
296+
row2.AddCell(cell22);
297+
TableCell cell23 = new TableCell(row2);
298+
cell23.Text = "New York";
299+
cell23.ID = table.Columns[2].Name;
300+
row2.AddCell(cell23);
301+
302+
table.AddRow(row2);
303+
table.Update();
304+
305+
presentation.Save();
306+
307+
/*Presentation presentation = Presentation.Open("D:\\AsposeSampleData\\test.pptx");
308+
Slide slide = presentation.GetSlides()[0];
309+
310+
Table table = slide.Tables[0];
311+
TableColumn col3 = new TableColumn();
312+
col3.Name = "City";
313+
table.Columns.Add(col3);
314+
// Create a new cell for the new column
315+
TableCell newCell1 = new TableCell();
316+
newCell1.Text = "Chicago";
317+
newCell1.ID = col3.Name;
318+
table.Rows[0].AddCell(newCell1);
319+
320+
TableCell newCell2 = new TableCell();
321+
newCell2.ID = col3.Name;
322+
newCell2.Text = "New York";
323+
table.Rows[1].AddCell(newCell2);
324+
325+
TableCell newCell3 = new TableCell();
326+
newCell3.ID = col3.Name;
327+
newCell3.Text = "Chicago";
328+
table.Rows[2].AddCell(newCell3);
329+
330+
TableCell newCell4 = new TableCell();
331+
newCell4.ID = col3.Name;
332+
newCell4.Text = "California";
333+
table.Rows[3].AddCell(newCell4);
334+
335+
table.Update();
336+
337+
presentation.Save();*/
338+
282339
}
283340

284341
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
using DocumentFormat.OpenXml.Drawing;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Text;
5+
6+
namespace FileFormat.Slides.Facade
7+
{
8+
internal static class PowerPointTableStyles
9+
{
10+
private static class LightStyles
11+
{
12+
public static TableStyleId Style1 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}" };
13+
public static TableStyleId Style2 { get; } = new TableStyleId() { Text = "{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}" };
14+
public static TableStyleId Style3 { get; } = new TableStyleId() { Text = "{775DCB02-9BB8-47FD-8907-85C794F793BA}" };
15+
public static TableStyleId Style4 { get; } = new TableStyleId() { Text = "{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}" };
16+
public static TableStyleId Style5 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3E}" };
17+
public static TableStyleId Style6 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3F}" };
18+
public static TableStyleId Style7 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3G}" };
19+
public static TableStyleId Style8 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3H}" };
20+
public static TableStyleId Style9 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3I}" };
21+
public static TableStyleId Style10 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3J}" };
22+
public static TableStyleId Style11 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3K}" };
23+
public static TableStyleId Style12 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3L}" };
24+
public static TableStyleId Style13 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3M}" };
25+
public static TableStyleId Style14 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3N}" };
26+
}
27+
28+
private static class MediumStyles
29+
{
30+
public static TableStyleId Style1 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3O}" };
31+
public static TableStyleId Style2 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3P}" };
32+
public static TableStyleId Style3 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3Q}" };
33+
public static TableStyleId Style4 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3R}" };
34+
public static TableStyleId Style5 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3S}" };
35+
public static TableStyleId Style6 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3T}" };
36+
public static TableStyleId Style7 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3U}" };
37+
public static TableStyleId Style8 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3V}" };
38+
public static TableStyleId Style9 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3W}" };
39+
public static TableStyleId Style10 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3X}" };
40+
public static TableStyleId Style11 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3Y}" };
41+
public static TableStyleId Style12 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3Z}" };
42+
}
43+
44+
private static class DarkStyles
45+
{
46+
public static TableStyleId Style1 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C40}" };
47+
public static TableStyleId Style2 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C41}" };
48+
public static TableStyleId Style3 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C42}" };
49+
public static TableStyleId Style4 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C43}" };
50+
public static TableStyleId Style5 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C44}" };
51+
public static TableStyleId Style6 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C45}" };
52+
public static TableStyleId Style7 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C46}" };
53+
public static TableStyleId Style8 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C47}" };
54+
public static TableStyleId Style9 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C48}" };
55+
public static TableStyleId Style10 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C49}" };
56+
public static TableStyleId Style11 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C4A}" };
57+
public static TableStyleId Style12 { get; } = new TableStyleId() { Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C4B}" };
58+
}
59+
60+
// In FileFormat.Slides namespace
61+
62+
63+
64+
public static class PowerPointTableStylesMap
65+
{
66+
public static TableStyleId GetTableStyleId(string styleName)
67+
{
68+
switch (styleName)
69+
{
70+
case "LightStyle1":
71+
return PowerPointTableStyles.LightStyles.Style1;
72+
case "LightStyle2":
73+
return PowerPointTableStyles.LightStyles.Style2;
74+
case "LightStyle3":
75+
return PowerPointTableStyles.LightStyles.Style3;
76+
case "LightStyle4":
77+
return PowerPointTableStyles.LightStyles.Style4;
78+
case "LightStyle5":
79+
return PowerPointTableStyles.LightStyles.Style5;
80+
case "LightStyle6":
81+
return PowerPointTableStyles.LightStyles.Style6;
82+
case "LightStyle7":
83+
return PowerPointTableStyles.LightStyles.Style7;
84+
case "LightStyle8":
85+
return PowerPointTableStyles.LightStyles.Style8;
86+
case "LightStyle9":
87+
return PowerPointTableStyles.LightStyles.Style9;
88+
case "LightStyle10":
89+
return PowerPointTableStyles.LightStyles.Style10;
90+
case "LightStyle11":
91+
return PowerPointTableStyles.LightStyles.Style11;
92+
case "LightStyle12":
93+
return PowerPointTableStyles.LightStyles.Style12;
94+
case "LightStyle13":
95+
return PowerPointTableStyles.LightStyles.Style13;
96+
case "LightStyle14":
97+
return PowerPointTableStyles.LightStyles.Style14;
98+
case "MediumStyle1":
99+
return PowerPointTableStyles.MediumStyles.Style1;
100+
case "MediumStyle2":
101+
return PowerPointTableStyles.MediumStyles.Style2;
102+
case "MediumStyle3":
103+
return PowerPointTableStyles.MediumStyles.Style3;
104+
case "MediumStyle4":
105+
return PowerPointTableStyles.MediumStyles.Style4;
106+
case "MediumStyle5":
107+
return PowerPointTableStyles.MediumStyles.Style5;
108+
case "MediumStyle6":
109+
return PowerPointTableStyles.MediumStyles.Style6;
110+
case "MediumStyle7":
111+
return PowerPointTableStyles.MediumStyles.Style7;
112+
case "MediumStyle8":
113+
return PowerPointTableStyles.MediumStyles.Style8;
114+
case "MediumStyle9":
115+
return PowerPointTableStyles.MediumStyles.Style9;
116+
case "MediumStyle10":
117+
return PowerPointTableStyles.MediumStyles.Style10;
118+
case "MediumStyle11":
119+
return PowerPointTableStyles.MediumStyles.Style11;
120+
case "MediumStyle12":
121+
return PowerPointTableStyles.MediumStyles.Style12;
122+
case "DarkStyle1":
123+
return PowerPointTableStyles.DarkStyles.Style1;
124+
case "DarkStyle2":
125+
return PowerPointTableStyles.DarkStyles.Style2;
126+
case "DarkStyle3":
127+
return PowerPointTableStyles.DarkStyles.Style3;
128+
case "DarkStyle4":
129+
return PowerPointTableStyles.DarkStyles.Style4;
130+
case "DarkStyle5":
131+
return PowerPointTableStyles.DarkStyles.Style5;
132+
case "DarkStyle6":
133+
return PowerPointTableStyles.DarkStyles.Style6;
134+
case "DarkStyle7":
135+
return PowerPointTableStyles.DarkStyles.Style7;
136+
case "DarkStyle8":
137+
return PowerPointTableStyles.DarkStyles.Style8;
138+
case "DarkStyle9":
139+
return PowerPointTableStyles.DarkStyles.Style9;
140+
case "DarkStyle10":
141+
return PowerPointTableStyles.DarkStyles.Style10;
142+
case "DarkStyle11":
143+
return PowerPointTableStyles.DarkStyles.Style11;
144+
case "DarkStyle12":
145+
return PowerPointTableStyles.DarkStyles.Style12;
146+
default:
147+
throw new ArgumentException($"Style '{styleName}' is not supported.");
148+
}
149+
}
150+
151+
public static string GetTableStyleName(TableStyleId tableStyleId)
152+
{
153+
if (tableStyleId == PowerPointTableStyles.LightStyles.Style1)
154+
return "LightStyle1";
155+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style2)
156+
return "LightStyle2";
157+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style3)
158+
return "LightStyle3";
159+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style4)
160+
return "LightStyle4";
161+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style5)
162+
return "LightStyle5";
163+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style6)
164+
return "LightStyle6";
165+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style7)
166+
return "LightStyle7";
167+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style8)
168+
return "LightStyle8";
169+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style9)
170+
return "LightStyle9";
171+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style10)
172+
return "LightStyle10";
173+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style11)
174+
return "LightStyle11";
175+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style12)
176+
return "LightStyle12";
177+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style13)
178+
return "LightStyle13";
179+
else if (tableStyleId == PowerPointTableStyles.LightStyles.Style14)
180+
return "LightStyle14";
181+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style1)
182+
return "MediumStyle1";
183+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style2)
184+
return "MediumStyle2";
185+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style3)
186+
return "MediumStyle3";
187+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style4)
188+
return "MediumStyle4";
189+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style5)
190+
return "MediumStyle5";
191+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style6)
192+
return "MediumStyle6";
193+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style7)
194+
return "MediumStyle7";
195+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style8)
196+
return "MediumStyle8";
197+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style9)
198+
return "MediumStyle9";
199+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style10)
200+
return "MediumStyle10";
201+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style11)
202+
return "MediumStyle11";
203+
else if (tableStyleId == PowerPointTableStyles.MediumStyles.Style12)
204+
return "MediumStyle12";
205+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style1)
206+
return "DarkStyle1";
207+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style2)
208+
return "DarkStyle2";
209+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style3)
210+
return "DarkStyle3";
211+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style4)
212+
return "DarkStyle4";
213+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style5)
214+
return "DarkStyle5";
215+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style6)
216+
return "DarkStyle6";
217+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style7)
218+
return "DarkStyle7";
219+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style8)
220+
return "DarkStyle8";
221+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style9)
222+
return "DarkStyle9";
223+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style10)
224+
return "DarkStyle10";
225+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style11)
226+
return "DarkStyle11";
227+
else if (tableStyleId == PowerPointTableStyles.DarkStyles.Style12)
228+
return "DarkStyle12";
229+
else
230+
throw new ArgumentException($"Table style '{tableStyleId}' is not supported.");
231+
}
232+
}
233+
234+
235+
}
236+
}

FileFormat.Slides.Facade/SlideFacade.cs

+4
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,17 @@ public class SlideFacade
2828
private List<TextShapeFacade> _TextShapeFacades = null;
2929

3030
private List<ImageFacade> _ImagesFacade = null;
31+
32+
private List<TableFacade> _TableFacades = null;
33+
3134
public Slide PresentationSlide { get => _PresentationSlide; set => _PresentationSlide = value; }
3235
public string RelationshipId { get => _RelationshipId; set => _RelationshipId = value; }
3336
public SlidePart SlidePart { get => _SlidePart; set => _SlidePart = value; }
3437
public List<TextShapeFacade> TextShapeFacades { get => _TextShapeFacades; set => _TextShapeFacades = value; }
3538
public int SlideIndex { get => _SlideIndex; set => _SlideIndex = value; }
3639
public List<ImageFacade> ImagesFacade { get => _ImagesFacade; set => _ImagesFacade = value; }
3740
public String BackgroundColor { get => _BackgroundColor; set => _BackgroundColor = value; }
41+
public List<TableFacade> TableFacades { get => _TableFacades; set => _TableFacades = value; }
3842

3943
public SlideFacade (bool isNewSlide)
4044
{

0 commit comments

Comments
 (0)