1# Copyright (c) 2010-2024 openpyxl
2
3# Builtins styles as defined in Part 4 Annex G.2
4
5from .named_styles import NamedStyle
6from openpyxl.xml.functions import fromstring
7
8
9normal = """
10 <namedStyle builtinId="0" name="Normal">
11 <alignment/>
12 <border>
13 <left/>
14 <right/>
15 <top/>
16 <bottom/>
17 <diagonal/>
18 </border>
19 <fill>
20 <patternFill/>
21 </fill>
22 <font>
23 <name val="Calibri"/>
24 <family val="2"/>
25 <color theme="1"/>
26 <sz val="12"/>
27 <scheme val="minor"/>
28 </font>
29 <protection hidden="0" locked="1"/>
30 </namedStyle>
31"""
32
33comma = """
34 <namedStyle builtinId="3" name="Comma">
35 <alignment/>
36 <number_format>_-* #,##0.00\\ _$_-;\\-* #,##0.00\\ _$_-;_-* "-"??\\ _$_-;_-@_-</number_format>
37 <border>
38 <left/>
39 <right/>
40 <top/>
41 <bottom/>
42 <diagonal/>
43 </border>
44 <fill>
45 <patternFill/>
46 </fill>
47 <font>
48 <name val="Calibri"/>
49 <family val="2"/>
50 <color theme="1"/>
51 <sz val="12"/>
52 <scheme val="minor"/>
53 </font>
54 <protection hidden="0" locked="1"/>
55 </namedStyle>
56"""
57
58comma_0 = """
59 <namedStyle builtinId="6" name="Comma [0]">
60 <alignment/>
61 <number_format>_-* #,##0\\ _$_-;\\-* #,##0\\ _$_-;_-* "-"\\ _$_-;_-@_-</number_format>
62 <border>
63 <left/>
64 <right/>
65 <top/>
66 <bottom/>
67 <diagonal/>
68 </border>
69 <fill>
70 <patternFill/>
71 </fill>
72 <font>
73 <name val="Calibri"/>
74 <family val="2"/>
75 <color theme="1"/>
76 <sz val="12"/>
77 <scheme val="minor"/>
78 </font>
79 <protection hidden="0" locked="1"/>
80 </namedStyle>
81"""
82
83currency = """
84 <namedStyle builtinId="4" name="Currency">
85 <alignment/>
86 <number_format>_-* #,##0.00\\ "$"_-;\\-* #,##0.00\\ "$"_-;_-* "-"??\\ "$"_-;_-@_-</number_format>
87 <border>
88 <left/>
89 <right/>
90 <top/>
91 <bottom/>
92 <diagonal/>
93 </border>
94 <fill>
95 <patternFill/>
96 </fill>
97 <font>
98 <name val="Calibri"/>
99 <family val="2"/>
100 <color theme="1"/>
101 <sz val="12"/>
102 <scheme val="minor"/>
103 </font>
104 <protection hidden="0" locked="1"/>
105 </namedStyle>
106"""
107
108currency_0 = """
109 <namedStyle builtinId="7" name="Currency [0]">
110 <alignment/>
111 <number_format>_-* #,##0\\ "$"_-;\\-* #,##0\\ "$"_-;_-* "-"\\ "$"_-;_-@_-</number_format>
112 <border>
113 <left/>
114 <right/>
115 <top/>
116 <bottom/>
117 <diagonal/>
118 </border>
119 <fill>
120 <patternFill/>
121 </fill>
122 <font>
123 <name val="Calibri"/>
124 <family val="2"/>
125 <color theme="1"/>
126 <sz val="12"/>
127 <scheme val="minor"/>
128 </font>
129 <protection hidden="0" locked="1"/>
130 </namedStyle>
131"""
132
133percent = """
134 <namedStyle builtinId="5" name="Percent">
135 <alignment/>
136 <number_format>0%</number_format>
137 <border>
138 <left/>
139 <right/>
140 <top/>
141 <bottom/>
142 <diagonal/>
143 </border>
144 <fill>
145 <patternFill/>
146 </fill>
147 <font>
148 <name val="Calibri"/>
149 <family val="2"/>
150 <color theme="1"/>
151 <sz val="12"/>
152 <scheme val="minor"/>
153 </font>
154 <protection hidden="0" locked="1"/>
155 </namedStyle>
156"""
157
158hyperlink = """
159 <namedStyle builtinId="8" name="Hyperlink" >
160 <alignment/>
161 <border>
162 <left/>
163 <right/>
164 <top/>
165 <bottom/>
166 <diagonal/>
167 </border>
168 <fill>
169 <patternFill/>
170 </fill>
171 <font>
172 <name val="Calibri"/>
173 <family val="2"/>
174 <color theme="10"/>
175 <sz val="12"/>
176 <scheme val="minor"/>
177 </font>
178 <protection hidden="0" locked="1"/>
179 </namedStyle>"""
180
181followed_hyperlink = """
182 <namedStyle builtinId="9" name="Followed Hyperlink" >
183 <alignment/>
184 <border>
185 <left/>
186 <right/>
187 <top/>
188 <bottom/>
189 <diagonal/>
190 </border>
191 <fill>
192 <patternFill/>
193 </fill>
194 <font>
195 <name val="Calibri"/>
196 <family val="2"/>
197 <color theme="11"/>
198 <sz val="12"/>
199 <scheme val="minor"/>
200 </font>
201 <protection hidden="0" locked="1"/>
202 </namedStyle>"""
203
204title = """
205 <namedStyle builtinId="15" name="Title">
206 <alignment/>
207 <border>
208 <left/>
209 <right/>
210 <top/>
211 <bottom/>
212 <diagonal/>
213 </border>
214 <fill>
215 <patternFill/>
216 </fill>
217 <font>
218 <name val="Cambria"/>
219 <family val="2"/>
220 <b val="1"/>
221 <color theme="3"/>
222 <sz val="18"/>
223 <scheme val="major"/>
224 </font>
225 <protection hidden="0" locked="1"/>
226 </namedStyle>
227"""
228
229headline_1 = """
230 <namedStyle builtinId="16" name="Headline 1" >
231 <alignment/>
232 <border>
233 <left/>
234 <right/>
235 <top/>
236 <bottom style="thick">
237 <color theme="4"/>
238 </bottom>
239 <diagonal/>
240 </border>
241 <fill>
242 <patternFill/>
243 </fill>
244 <font>
245 <name val="Calibri"/>
246 <family val="2"/>
247 <b val="1"/>
248 <color theme="3"/>
249 <sz val="15"/>
250 <scheme val="minor"/>
251 </font>
252 <protection hidden="0" locked="1"/>
253 </namedStyle>
254"""
255
256headline_2 = """
257 <namedStyle builtinId="17" name="Headline 2" >
258 <alignment/>
259 <border>
260 <left/>
261 <right/>
262 <top/>
263 <bottom style="thick">
264 <color theme="4" tint="0.5"/>
265 </bottom>
266 <diagonal/>
267 </border>
268 <fill>
269 <patternFill/>
270 </fill>
271 <font>
272 <name val="Calibri"/>
273 <family val="2"/>
274 <b val="1"/>
275 <color theme="3"/>
276 <sz val="13"/>
277 <scheme val="minor"/>
278 </font>
279 <protection hidden="0" locked="1"/>
280 </namedStyle>
281"""
282
283headline_3 = """
284 <namedStyle builtinId="18" name="Headline 3" >
285 <alignment/>
286 <border>
287 <left/>
288 <right/>
289 <top/>
290 <bottom style="medium">
291 <color theme="4" tint="0.4"/>
292 </bottom>
293 <diagonal/>
294 </border>
295 <fill>
296 <patternFill/>
297 </fill>
298 <font>
299 <name val="Calibri"/>
300 <family val="2"/>
301 <b val="1"/>
302 <color theme="3"/>
303 <sz val="11"/>
304 <scheme val="minor"/>
305 </font>
306 <protection hidden="0" locked="1"/>
307 </namedStyle>
308
309"""
310
311headline_4 = """
312 <namedStyle builtinId="19" name="Headline 4">
313 <alignment/>
314 <border>
315 <left/>
316 <right/>
317 <top/>
318 <bottom/>
319 <diagonal/>
320 </border>
321 <fill>
322 <patternFill/>
323 </fill>
324 <font>
325 <name val="Calibri"/>
326 <family val="2"/>
327 <b val="1"/>
328 <color theme="3"/>
329 <sz val="11"/>
330 <scheme val="minor"/>
331 </font>
332 <protection hidden="0" locked="1"/>
333 </namedStyle>
334"""
335
336good = """
337 <namedStyle builtinId="26" name="Good" >
338 <alignment/>
339 <border>
340 <left/>
341 <right/>
342 <top/>
343 <bottom/>
344 <diagonal/>
345 </border>
346 <fill>
347 <patternFill patternType="solid">
348 <fgColor rgb="FFC6EFCE"/>
349 </patternFill>
350 </fill>
351 <font>
352 <name val="Calibri"/>
353 <family val="2"/>
354 <color rgb="FF006100"/>
355 <sz val="12"/>
356 <scheme val="minor"/>
357 </font>
358 <protection hidden="0" locked="1"/>
359 </namedStyle>
360"""
361
362bad = """
363 <namedStyle builtinId="27" name="Bad" >
364 <alignment/>
365 <border>
366 <left/>
367 <right/>
368 <top/>
369 <bottom/>
370 <diagonal/>
371 </border>
372 <fill>
373 <patternFill patternType="solid">
374 <fgColor rgb="FFFFC7CE"/>
375 </patternFill>
376 </fill>
377 <font>
378 <name val="Calibri"/>
379 <family val="2"/>
380 <color rgb="FF9C0006"/>
381 <sz val="12"/>
382 <scheme val="minor"/>
383 </font>
384 <protection hidden="0" locked="1"/>
385 </namedStyle>
386"""
387
388neutral = """
389 <namedStyle builtinId="28" name="Neutral" >
390 <alignment/>
391 <border>
392 <left/>
393 <right/>
394 <top/>
395 <bottom/>
396 <diagonal/>
397 </border>
398 <fill>
399 <patternFill patternType="solid">
400 <fgColor rgb="FFFFEB9C"/>
401 </patternFill>
402 </fill>
403 <font>
404 <name val="Calibri"/>
405 <family val="2"/>
406 <color rgb="FF9C6500"/>
407 <sz val="12"/>
408 <scheme val="minor"/>
409 </font>
410 <protection hidden="0" locked="1"/>
411 </namedStyle>
412"""
413
414input = """
415 <namedStyle builtinId="20" name="Input" >
416 <alignment/>
417 <border>
418 <left style="thin">
419 <color rgb="FF7F7F7F"/>
420 </left>
421 <right style="thin">
422 <color rgb="FF7F7F7F"/>
423 </right>
424 <top style="thin">
425 <color rgb="FF7F7F7F"/>
426 </top>
427 <bottom style="thin">
428 <color rgb="FF7F7F7F"/>
429 </bottom>
430 <diagonal/>
431 </border>
432 <fill>
433 <patternFill patternType="solid">
434 <fgColor rgb="FFFFCC99"/>
435 </patternFill>
436 </fill>
437 <font>
438 <name val="Calibri"/>
439 <family val="2"/>
440 <color rgb="FF3F3F76"/>
441 <sz val="12"/>
442 <scheme val="minor"/>
443 </font>
444 <protection hidden="0" locked="1"/>
445 </namedStyle>
446"""
447
448output = """
449 <namedStyle builtinId="21" name="Output" >
450 <alignment/>
451 <border>
452 <left style="thin">
453 <color rgb="FF3F3F3F"/>
454 </left>
455 <right style="thin">
456 <color rgb="FF3F3F3F"/>
457 </right>
458 <top style="thin">
459 <color rgb="FF3F3F3F"/>
460 </top>
461 <bottom style="thin">
462 <color rgb="FF3F3F3F"/>
463 </bottom>
464 <diagonal/>
465 </border>
466 <fill>
467 <patternFill patternType="solid">
468 <fgColor rgb="FFF2F2F2"/>
469 </patternFill>
470 </fill>
471 <font>
472 <name val="Calibri"/>
473 <family val="2"/>
474 <b val="1"/>
475 <color rgb="FF3F3F3F"/>
476 <sz val="12"/>
477 <scheme val="minor"/>
478 </font>
479 <protection hidden="0" locked="1"/>
480 </namedStyle>
481"""
482
483calculation = """
484 <namedStyle builtinId="22" name="Calculation" >
485 <alignment/>
486 <border>
487 <left style="thin">
488 <color rgb="FF7F7F7F"/>
489 </left>
490 <right style="thin">
491 <color rgb="FF7F7F7F"/>
492 </right>
493 <top style="thin">
494 <color rgb="FF7F7F7F"/>
495 </top>
496 <bottom style="thin">
497 <color rgb="FF7F7F7F"/>
498 </bottom>
499 <diagonal/>
500 </border>
501 <fill>
502 <patternFill patternType="solid">
503 <fgColor rgb="FFF2F2F2"/>
504 </patternFill>
505 </fill>
506 <font>
507 <name val="Calibri"/>
508 <family val="2"/>
509 <b val="1"/>
510 <color rgb="FFFA7D00"/>
511 <sz val="12"/>
512 <scheme val="minor"/>
513 </font>
514 <protection hidden="0" locked="1"/>
515 </namedStyle>
516"""
517
518linked_cell = """
519 <namedStyle builtinId="24" name="Linked Cell" >
520 <alignment/>
521 <border>
522 <left/>
523 <right/>
524 <top/>
525 <bottom style="double">
526 <color rgb="FFFF8001"/>
527 </bottom>
528 <diagonal/>
529 </border>
530 <fill>
531 <patternFill/>
532 </fill>
533 <font>
534 <name val="Calibri"/>
535 <family val="2"/>
536 <color rgb="FFFA7D00"/>
537 <sz val="12"/>
538 <scheme val="minor"/>
539 </font>
540 <protection hidden="0" locked="1"/>
541 </namedStyle>
542"""
543
544check_cell = """
545 <namedStyle builtinId="23" name="Check Cell" >
546 <alignment/>
547 <border>
548 <left style="double">
549 <color rgb="FF3F3F3F"/>
550 </left>
551 <right style="double">
552 <color rgb="FF3F3F3F"/>
553 </right>
554 <top style="double">
555 <color rgb="FF3F3F3F"/>
556 </top>
557 <bottom style="double">
558 <color rgb="FF3F3F3F"/>
559 </bottom>
560 <diagonal/>
561 </border>
562 <fill>
563 <patternFill patternType="solid">
564 <fgColor rgb="FFA5A5A5"/>
565 </patternFill>
566 </fill>
567 <font>
568 <name val="Calibri"/>
569 <family val="2"/>
570 <b val="1"/>
571 <color theme="0"/>
572 <sz val="12"/>
573 <scheme val="minor"/>
574 </font>
575 <protection hidden="0" locked="1"/>
576 </namedStyle>
577"""
578
579warning = """
580 <namedStyle builtinId="11" name="Warning Text" >
581 <alignment/>
582 <border>
583 <left/>
584 <right/>
585 <top/>
586 <bottom/>
587 <diagonal/>
588 </border>
589 <fill>
590 <patternFill/>
591 </fill>
592 <font>
593 <name val="Calibri"/>
594 <family val="2"/>
595 <color rgb="FFFF0000"/>
596 <sz val="12"/>
597 <scheme val="minor"/>
598 </font>
599 <protection hidden="0" locked="1"/>
600 </namedStyle>
601"""
602
603note = """
604 <namedStyle builtinId="10" name="Note" >
605 <alignment/>
606 <border>
607 <left style="thin">
608 <color rgb="FFB2B2B2"/>
609 </left>
610 <right style="thin">
611 <color rgb="FFB2B2B2"/>
612 </right>
613 <top style="thin">
614 <color rgb="FFB2B2B2"/>
615 </top>
616 <bottom style="thin">
617 <color rgb="FFB2B2B2"/>
618 </bottom>
619 <diagonal/>
620 </border>
621 <fill>
622 <patternFill patternType="solid">
623 <fgColor rgb="FFFFFFCC"/>
624 </patternFill>
625 </fill>
626 <font>
627 <name val="Calibri"/>
628 <family val="2"/>
629 <color theme="1"/>
630 <sz val="12"/>
631 <scheme val="minor"/>
632 </font>
633 <protection hidden="0" locked="1"/>
634 </namedStyle>
635"""
636
637explanatory = """
638 <namedStyle builtinId="53" name="Explanatory Text" >
639 <alignment/>
640 <border>
641 <left/>
642 <right/>
643 <top/>
644 <bottom/>
645 <diagonal/>
646 </border>
647 <fill>
648 <patternFill/>
649 </fill>
650 <font>
651 <name val="Calibri"/>
652 <family val="2"/>
653 <i val="1"/>
654 <color rgb="FF7F7F7F"/>
655 <sz val="12"/>
656 <scheme val="minor"/>
657 </font>
658 <protection hidden="0" locked="1"/>
659 </namedStyle>
660"""
661
662total = """
663 <namedStyle builtinId="25" name="Total" >
664 <alignment/>
665 <border>
666 <left/>
667 <right/>
668 <top style="thin">
669 <color theme="4"/>
670 </top>
671 <bottom style="double">
672 <color theme="4"/>
673 </bottom>
674 <diagonal/>
675 </border>
676 <fill>
677 <patternFill/>
678 </fill>
679 <font>
680 <name val="Calibri"/>
681 <family val="2"/>
682 <b val="1"/>
683 <color theme="1"/>
684 <sz val="12"/>
685 <scheme val="minor"/>
686 </font>
687 <protection hidden="0" locked="1"/>
688 </namedStyle>
689"""
690
691accent_1 = """
692 <namedStyle builtinId="29" name="Accent1" >
693 <alignment/>
694 <border>
695 <left/>
696 <right/>
697 <top/>
698 <bottom/>
699 <diagonal/>
700 </border>
701 <fill>
702 <patternFill patternType="solid">
703 <fgColor theme="4"/>
704 </patternFill>
705 </fill>
706 <font>
707 <name val="Calibri"/>
708 <family val="2"/>
709 <color theme="0"/>
710 <sz val="12"/>
711 <scheme val="minor"/>
712 </font>
713 <protection hidden="0" locked="1"/>
714 </namedStyle>
715"""
716
717accent_1_20 = """
718 <namedStyle builtinId="30" name="20 % - Accent1" >
719 <alignment/>
720 <border>
721 <left/>
722 <right/>
723 <top/>
724 <bottom/>
725 <diagonal/>
726 </border>
727 <fill>
728 <patternFill patternType="solid">
729 <fgColor theme="4" tint="0.7999816888943144"/>
730 <bgColor indexed="65"/>
731 </patternFill>
732 </fill>
733 <font>
734 <name val="Calibri"/>
735 <family val="2"/>
736 <color theme="1"/>
737 <sz val="12"/>
738 <scheme val="minor"/>
739 </font>
740 <protection hidden="0" locked="1"/>
741 </namedStyle>
742"""
743
744accent_1_40 = """
745 <namedStyle builtinId="31" name="40 % - Accent1" >
746 <alignment/>
747 <border>
748 <left/>
749 <right/>
750 <top/>
751 <bottom/>
752 <diagonal/>
753 </border>
754 <fill>
755 <patternFill patternType="solid">
756 <fgColor theme="4" tint="0.5999938962981048"/>
757 <bgColor indexed="65"/>
758 </patternFill>
759 </fill>
760 <font>
761 <name val="Calibri"/>
762 <family val="2"/>
763 <color theme="1"/>
764 <sz val="12"/>
765 <scheme val="minor"/>
766 </font>
767 <protection hidden="0" locked="1"/>
768 </namedStyle>
769"""
770
771accent_1_60 = """
772 <namedStyle builtinId="32" name="60 % - Accent1" >
773 <alignment/>
774 <border>
775 <left/>
776 <right/>
777 <top/>
778 <bottom/>
779 <diagonal/>
780 </border>
781 <fill>
782 <patternFill patternType="solid">
783 <fgColor theme="4" tint="0.3999755851924192"/>
784 <bgColor indexed="65"/>
785 </patternFill>
786 </fill>
787 <font>
788 <name val="Calibri"/>
789 <family val="2"/>
790 <color theme="0"/>
791 <sz val="12"/>
792 <scheme val="minor"/>
793 </font>
794 <protection hidden="0" locked="1"/>
795 </namedStyle>
796"""
797
798accent_2 = """<namedStyle builtinId="33" name="Accent2" >
799 <alignment/>
800 <border>
801 <left/>
802 <right/>
803 <top/>
804 <bottom/>
805 <diagonal/>
806 </border>
807 <fill>
808 <patternFill patternType="solid">
809 <fgColor theme="5"/>
810 </patternFill>
811 </fill>
812 <font>
813 <name val="Calibri"/>
814 <family val="2"/>
815 <color theme="0"/>
816 <sz val="12"/>
817 <scheme val="minor"/>
818 </font>
819 <protection hidden="0" locked="1"/>
820 </namedStyle>"""
821
822accent_2_20 = """
823 <namedStyle builtinId="34" name="20 % - Accent2" >
824 <alignment/>
825 <border>
826 <left/>
827 <right/>
828 <top/>
829 <bottom/>
830 <diagonal/>
831 </border>
832 <fill>
833 <patternFill patternType="solid">
834 <fgColor theme="5" tint="0.7999816888943144"/>
835 <bgColor indexed="65"/>
836 </patternFill>
837 </fill>
838 <font>
839 <name val="Calibri"/>
840 <family val="2"/>
841 <color theme="1"/>
842 <sz val="12"/>
843 <scheme val="minor"/>
844 </font>
845 <protection hidden="0" locked="1"/>
846 </namedStyle>"""
847
848accent_2_40 = """
849<namedStyle builtinId="35" name="40 % - Accent2" >
850 <alignment/>
851 <border>
852 <left/>
853 <right/>
854 <top/>
855 <bottom/>
856 <diagonal/>
857 </border>
858 <fill>
859 <patternFill patternType="solid">
860 <fgColor theme="5" tint="0.5999938962981048"/>
861 <bgColor indexed="65"/>
862 </patternFill>
863 </fill>
864 <font>
865 <name val="Calibri"/>
866 <family val="2"/>
867 <color theme="1"/>
868 <sz val="12"/>
869 <scheme val="minor"/>
870 </font>
871 <protection hidden="0" locked="1"/>
872 </namedStyle>"""
873
874accent_2_60 = """
875<namedStyle builtinId="36" name="60 % - Accent2" >
876 <alignment/>
877 <border>
878 <left/>
879 <right/>
880 <top/>
881 <bottom/>
882 <diagonal/>
883 </border>
884 <fill>
885 <patternFill patternType="solid">
886 <fgColor theme="5" tint="0.3999755851924192"/>
887 <bgColor indexed="65"/>
888 </patternFill>
889 </fill>
890 <font>
891 <name val="Calibri"/>
892 <family val="2"/>
893 <color theme="0"/>
894 <sz val="12"/>
895 <scheme val="minor"/>
896 </font>
897 <protection hidden="0" locked="1"/>
898 </namedStyle>"""
899
900accent_3 = """
901<namedStyle builtinId="37" name="Accent3" >
902 <alignment/>
903 <border>
904 <left/>
905 <right/>
906 <top/>
907 <bottom/>
908 <diagonal/>
909 </border>
910 <fill>
911 <patternFill patternType="solid">
912 <fgColor theme="6"/>
913 </patternFill>
914 </fill>
915 <font>
916 <name val="Calibri"/>
917 <family val="2"/>
918 <color theme="0"/>
919 <sz val="12"/>
920 <scheme val="minor"/>
921 </font>
922 <protection hidden="0" locked="1"/>
923 </namedStyle>"""
924
925accent_3_20 = """
926 <namedStyle builtinId="38" name="20 % - Accent3" >
927 <alignment/>
928 <border>
929 <left/>
930 <right/>
931 <top/>
932 <bottom/>
933 <diagonal/>
934 </border>
935 <fill>
936 <patternFill patternType="solid">
937 <fgColor theme="6" tint="0.7999816888943144"/>
938 <bgColor indexed="65"/>
939 </patternFill>
940 </fill>
941 <font>
942 <name val="Calibri"/>
943 <family val="2"/>
944 <color theme="1"/>
945 <sz val="12"/>
946 <scheme val="minor"/>
947 </font>
948 <protection hidden="0" locked="1"/>
949 </namedStyle>"""
950
951accent_3_40 = """
952 <namedStyle builtinId="39" name="40 % - Accent3" >
953 <alignment/>
954 <border>
955 <left/>
956 <right/>
957 <top/>
958 <bottom/>
959 <diagonal/>
960 </border>
961 <fill>
962 <patternFill patternType="solid">
963 <fgColor theme="6" tint="0.5999938962981048"/>
964 <bgColor indexed="65"/>
965 </patternFill>
966 </fill>
967 <font>
968 <name val="Calibri"/>
969 <family val="2"/>
970 <color theme="1"/>
971 <sz val="12"/>
972 <scheme val="minor"/>
973 </font>
974 <protection hidden="0" locked="1"/>
975 </namedStyle>
976"""
977accent_3_60 = """
978 <namedStyle builtinId="40" name="60 % - Accent3" >
979 <alignment/>
980 <border>
981 <left/>
982 <right/>
983 <top/>
984 <bottom/>
985 <diagonal/>
986 </border>
987 <fill>
988 <patternFill patternType="solid">
989 <fgColor theme="6" tint="0.3999755851924192"/>
990 <bgColor indexed="65"/>
991 </patternFill>
992 </fill>
993 <font>
994 <name val="Calibri"/>
995 <family val="2"/>
996 <color theme="0"/>
997 <sz val="12"/>
998 <scheme val="minor"/>
999 </font>
1000 <protection hidden="0" locked="1"/>
1001 </namedStyle>
1002"""
1003accent_4 = """
1004 <namedStyle builtinId="41" name="Accent4" >
1005 <alignment/>
1006 <border>
1007 <left/>
1008 <right/>
1009 <top/>
1010 <bottom/>
1011 <diagonal/>
1012 </border>
1013 <fill>
1014 <patternFill patternType="solid">
1015 <fgColor theme="7"/>
1016 </patternFill>
1017 </fill>
1018 <font>
1019 <name val="Calibri"/>
1020 <family val="2"/>
1021 <color theme="0"/>
1022 <sz val="12"/>
1023 <scheme val="minor"/>
1024 </font>
1025 <protection hidden="0" locked="1"/>
1026 </namedStyle>
1027"""
1028
1029accent_4_20 = """
1030 <namedStyle builtinId="42" name="20 % - Accent4" >
1031 <alignment/>
1032 <border>
1033 <left/>
1034 <right/>
1035 <top/>
1036 <bottom/>
1037 <diagonal/>
1038 </border>
1039 <fill>
1040 <patternFill patternType="solid">
1041 <fgColor theme="7" tint="0.7999816888943144"/>
1042 <bgColor indexed="65"/>
1043 </patternFill>
1044 </fill>
1045 <font>
1046 <name val="Calibri"/>
1047 <family val="2"/>
1048 <color theme="1"/>
1049 <sz val="12"/>
1050 <scheme val="minor"/>
1051 </font>
1052 <protection hidden="0" locked="1"/>
1053 </namedStyle>
1054"""
1055
1056accent_4_40 = """
1057 <namedStyle builtinId="43" name="40 % - Accent4" >
1058 <alignment/>
1059 <border>
1060 <left/>
1061 <right/>
1062 <top/>
1063 <bottom/>
1064 <diagonal/>
1065 </border>
1066 <fill>
1067 <patternFill patternType="solid">
1068 <fgColor theme="7" tint="0.5999938962981048"/>
1069 <bgColor indexed="65"/>
1070 </patternFill>
1071 </fill>
1072 <font>
1073 <name val="Calibri"/>
1074 <family val="2"/>
1075 <color theme="1"/>
1076 <sz val="12"/>
1077 <scheme val="minor"/>
1078 </font>
1079 <protection hidden="0" locked="1"/>
1080 </namedStyle>
1081"""
1082
1083accent_4_60 = """
1084<namedStyle builtinId="44" name="60 % - Accent4" >
1085 <alignment/>
1086 <border>
1087 <left/>
1088 <right/>
1089 <top/>
1090 <bottom/>
1091 <diagonal/>
1092 </border>
1093 <fill>
1094 <patternFill patternType="solid">
1095 <fgColor theme="7" tint="0.3999755851924192"/>
1096 <bgColor indexed="65"/>
1097 </patternFill>
1098 </fill>
1099 <font>
1100 <name val="Calibri"/>
1101 <family val="2"/>
1102 <color theme="0"/>
1103 <sz val="12"/>
1104 <scheme val="minor"/>
1105 </font>
1106 <protection hidden="0" locked="1"/>
1107 </namedStyle>
1108"""
1109
1110accent_5 = """
1111 <namedStyle builtinId="45" name="Accent5" >
1112 <alignment/>
1113 <border>
1114 <left/>
1115 <right/>
1116 <top/>
1117 <bottom/>
1118 <diagonal/>
1119 </border>
1120 <fill>
1121 <patternFill patternType="solid">
1122 <fgColor theme="8"/>
1123 </patternFill>
1124 </fill>
1125 <font>
1126 <name val="Calibri"/>
1127 <family val="2"/>
1128 <color theme="0"/>
1129 <sz val="12"/>
1130 <scheme val="minor"/>
1131 </font>
1132 <protection hidden="0" locked="1"/>
1133 </namedStyle>
1134"""
1135
1136accent_5_20 = """
1137 <namedStyle builtinId="46" name="20 % - Accent5" >
1138 <alignment/>
1139 <border>
1140 <left/>
1141 <right/>
1142 <top/>
1143 <bottom/>
1144 <diagonal/>
1145 </border>
1146 <fill>
1147 <patternFill patternType="solid">
1148 <fgColor theme="8" tint="0.7999816888943144"/>
1149 <bgColor indexed="65"/>
1150 </patternFill>
1151 </fill>
1152 <font>
1153 <name val="Calibri"/>
1154 <family val="2"/>
1155 <color theme="1"/>
1156 <sz val="12"/>
1157 <scheme val="minor"/>
1158 </font>
1159 <protection hidden="0" locked="1"/>
1160 </namedStyle>
1161"""
1162
1163accent_5_40 = """
1164 <namedStyle builtinId="47" name="40 % - Accent5" >
1165 <alignment/>
1166 <border>
1167 <left/>
1168 <right/>
1169 <top/>
1170 <bottom/>
1171 <diagonal/>
1172 </border>
1173 <fill>
1174 <patternFill patternType="solid">
1175 <fgColor theme="8" tint="0.5999938962981048"/>
1176 <bgColor indexed="65"/>
1177 </patternFill>
1178 </fill>
1179 <font>
1180 <name val="Calibri"/>
1181 <family val="2"/>
1182 <color theme="1"/>
1183 <sz val="12"/>
1184 <scheme val="minor"/>
1185 </font>
1186 <protection hidden="0" locked="1"/>
1187 </namedStyle>
1188"""
1189
1190accent_5_60 = """
1191 <namedStyle builtinId="48" name="60 % - Accent5" >
1192 <alignment/>
1193 <border>
1194 <left/>
1195 <right/>
1196 <top/>
1197 <bottom/>
1198 <diagonal/>
1199 </border>
1200 <fill>
1201 <patternFill patternType="solid">
1202 <fgColor theme="8" tint="0.3999755851924192"/>
1203 <bgColor indexed="65"/>
1204 </patternFill>
1205 </fill>
1206 <font>
1207 <name val="Calibri"/>
1208 <family val="2"/>
1209 <color theme="0"/>
1210 <sz val="12"/>
1211 <scheme val="minor"/>
1212 </font>
1213 <protection hidden="0" locked="1"/>
1214 </namedStyle>
1215"""
1216
1217accent_6 = """
1218 <namedStyle builtinId="49" name="Accent6" >
1219 <alignment/>
1220 <border>
1221 <left/>
1222 <right/>
1223 <top/>
1224 <bottom/>
1225 <diagonal/>
1226 </border>
1227 <fill>
1228 <patternFill patternType="solid">
1229 <fgColor theme="9"/>
1230 </patternFill>
1231 </fill>
1232 <font>
1233 <name val="Calibri"/>
1234 <family val="2"/>
1235 <color theme="0"/>
1236 <sz val="12"/>
1237 <scheme val="minor"/>
1238 </font>
1239 <protection hidden="0" locked="1"/>
1240 </namedStyle>
1241"""
1242
1243accent_6_20 = """
1244 <namedStyle builtinId="50" name="20 % - Accent6" >
1245 <alignment/>
1246 <border>
1247 <left/>
1248 <right/>
1249 <top/>
1250 <bottom/>
1251 <diagonal/>
1252 </border>
1253 <fill>
1254 <patternFill patternType="solid">
1255 <fgColor theme="9" tint="0.7999816888943144"/>
1256 <bgColor indexed="65"/>
1257 </patternFill>
1258 </fill>
1259 <font>
1260 <name val="Calibri"/>
1261 <family val="2"/>
1262 <color theme="1"/>
1263 <sz val="12"/>
1264 <scheme val="minor"/>
1265 </font>
1266 <protection hidden="0" locked="1"/>
1267 </namedStyle>
1268"""
1269
1270accent_6_40 = """
1271 <namedStyle builtinId="51" name="40 % - Accent6" >
1272 <alignment/>
1273 <border>
1274 <left/>
1275 <right/>
1276 <top/>
1277 <bottom/>
1278 <diagonal/>
1279 </border>
1280 <fill>
1281 <patternFill patternType="solid">
1282 <fgColor theme="9" tint="0.5999938962981048"/>
1283 <bgColor indexed="65"/>
1284 </patternFill>
1285 </fill>
1286 <font>
1287 <name val="Calibri"/>
1288 <family val="2"/>
1289 <color theme="1"/>
1290 <sz val="12"/>
1291 <scheme val="minor"/>
1292 </font>
1293 <protection hidden="0" locked="1"/>
1294 </namedStyle>
1295"""
1296
1297accent_6_60 = """
1298 <namedStyle builtinId="52" name="60 % - Accent6" >
1299 <alignment/>
1300 <border>
1301 <left/>
1302 <right/>
1303 <top/>
1304 <bottom/>
1305 <diagonal/>
1306 </border>
1307 <fill>
1308 <patternFill patternType="solid">
1309 <fgColor theme="9" tint="0.3999755851924192"/>
1310 <bgColor indexed="65"/>
1311 </patternFill>
1312 </fill>
1313 <font>
1314 <name val="Calibri"/>
1315 <family val="2"/>
1316 <color theme="0"/>
1317 <sz val="12"/>
1318 <scheme val="minor"/>
1319 </font>
1320 <protection hidden="0" locked="1"/>
1321 </namedStyle>
1322"""
1323
1324pandas_highlight = """
1325 <namedStyle hidden="0" name="Pandas">
1326 <alignment horizontal="center"/>
1327 <border>
1328 <left style="thin"><color rgb="00000000"/></left>
1329 <right style="thin"><color rgb="00000000"/></right>
1330 <top style="thin"><color rgb="00000000"/></top>
1331 <bottom style="thin"><color rgb="00000000"/></bottom>
1332 <diagonal/>
1333 </border>
1334 <fill>
1335 <patternFill/>
1336 </fill>
1337 <font>
1338 <b val="1"/>
1339 </font>
1340 <protection hidden="0" locked="1"/>
1341 </namedStyle>
1342"""
1343
1344styles = dict(
1345 [
1346 ('Normal', NamedStyle.from_tree(fromstring(normal))),
1347 ('Comma', NamedStyle.from_tree(fromstring(comma))),
1348 ('Currency', NamedStyle.from_tree(fromstring(currency))),
1349 ('Percent', NamedStyle.from_tree(fromstring(percent))),
1350 ('Comma [0]', NamedStyle.from_tree(fromstring(comma_0))),
1351 ('Currency [0]', NamedStyle.from_tree(fromstring(currency_0))),
1352 ('Hyperlink', NamedStyle.from_tree(fromstring(hyperlink))),
1353 ('Followed Hyperlink', NamedStyle.from_tree(fromstring(followed_hyperlink))),
1354 ('Note', NamedStyle.from_tree(fromstring(note))),
1355 ('Warning Text', NamedStyle.from_tree(fromstring(warning))),
1356 ('Title', NamedStyle.from_tree(fromstring(title))),
1357 ('Headline 1', NamedStyle.from_tree(fromstring(headline_1))),
1358 ('Headline 2', NamedStyle.from_tree(fromstring(headline_2))),
1359 ('Headline 3', NamedStyle.from_tree(fromstring(headline_3))),
1360 ('Headline 4', NamedStyle.from_tree(fromstring(headline_4))),
1361 ('Input', NamedStyle.from_tree(fromstring(input))),
1362 ('Output', NamedStyle.from_tree(fromstring(output))),
1363 ('Calculation',NamedStyle.from_tree(fromstring(calculation))),
1364 ('Check Cell', NamedStyle.from_tree(fromstring(check_cell))),
1365 ('Linked Cell', NamedStyle.from_tree(fromstring(linked_cell))),
1366 ('Total', NamedStyle.from_tree(fromstring(total))),
1367 ('Good', NamedStyle.from_tree(fromstring(good))),
1368 ('Bad', NamedStyle.from_tree(fromstring(bad))),
1369 ('Neutral', NamedStyle.from_tree(fromstring(neutral))),
1370 ('Accent1', NamedStyle.from_tree(fromstring(accent_1))),
1371 ('20 % - Accent1', NamedStyle.from_tree(fromstring(accent_1_20))),
1372 ('40 % - Accent1', NamedStyle.from_tree(fromstring(accent_1_40))),
1373 ('60 % - Accent1', NamedStyle.from_tree(fromstring(accent_1_60))),
1374 ('Accent2', NamedStyle.from_tree(fromstring(accent_2))),
1375 ('20 % - Accent2', NamedStyle.from_tree(fromstring(accent_2_20))),
1376 ('40 % - Accent2', NamedStyle.from_tree(fromstring(accent_2_40))),
1377 ('60 % - Accent2', NamedStyle.from_tree(fromstring(accent_2_60))),
1378 ('Accent3', NamedStyle.from_tree(fromstring(accent_3))),
1379 ('20 % - Accent3', NamedStyle.from_tree(fromstring(accent_3_20))),
1380 ('40 % - Accent3', NamedStyle.from_tree(fromstring(accent_3_40))),
1381 ('60 % - Accent3', NamedStyle.from_tree(fromstring(accent_3_60))),
1382 ('Accent4', NamedStyle.from_tree(fromstring(accent_4))),
1383 ('20 % - Accent4', NamedStyle.from_tree(fromstring(accent_4_20))),
1384 ('40 % - Accent4', NamedStyle.from_tree(fromstring(accent_4_40))),
1385 ('60 % - Accent4', NamedStyle.from_tree(fromstring(accent_4_60))),
1386 ('Accent5', NamedStyle.from_tree(fromstring(accent_5))),
1387 ('20 % - Accent5', NamedStyle.from_tree(fromstring(accent_5_20))),
1388 ('40 % - Accent5', NamedStyle.from_tree(fromstring(accent_5_40))),
1389 ('60 % - Accent5', NamedStyle.from_tree(fromstring(accent_5_60))),
1390 ('Accent6', NamedStyle.from_tree(fromstring(accent_6))),
1391 ('20 % - Accent6', NamedStyle.from_tree(fromstring(accent_6_20))),
1392 ('40 % - Accent6', NamedStyle.from_tree(fromstring(accent_6_40))),
1393 ('60 % - Accent6', NamedStyle.from_tree(fromstring(accent_6_60))),
1394 ('Explanatory Text', NamedStyle.from_tree(fromstring(explanatory))),
1395 ('Pandas', NamedStyle.from_tree(fromstring(pandas_highlight)))
1396 ]
1397)