Project

General

Profile

Export Excel » History » Version 2

Simon, 01/19/2022 05:55 AM

1 1 Simon
h1. Export Excel
2
3
La version 2.5 introduit la possibilité d'exporter le programme d'actions au format Excel.
4
5
Vous pouvez prendre le contrôle du rendu de votre export en choisissant les colonnes que vous souhaitez exporter ainsi que plusieurs options de formatage du document résultant.
6
7
Par défaut, un fichier de configuration est fourni dans le dossier `/export/excel/project-schema.json`. 
8
Vous pouvez sauvegarder ce fichier dans `/templates/public/[MONTHEME]/override/export/excel/ et  et le personnaliser. Le champ 'commentaire' explique ici la finalité de chacun des paramètres.
9
10
<pre><code class="javascript">
11
{
12
	"options": [
13
		{
14
			"zoomLevel": 100,
15
            "commentaire": "niveau de zoom du document"
16
		},
17
	    {
18
			"freezePane": true,
19
            "commentaire": "si true, affiche la première ligne de manière fixe"
20
		},
21
		{
22
			"rowHeight": -1,
23
            "commentaire": "-1 : hauteur automatique. Une hauteur fixe peut aussi être fournie. https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#setting-a-rows-height"
24
		},
25
		{
26
			"cellAutoWidth": true,
27
            "commentaire": "si true, calcule automatiquement la largeur idéale des cellules. https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#setting-the-default-column-width"
28
		},
29
		{
30
			"wrapText": true,
31
            "commentaire": "true : retour à la ligne automatique. https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#write-a-newline-character-n-in-a-cell-altenter"
32
		},
33
		{
34
			"headerAutoFilter": true,
35
            "commentaire": "true : applique un auto filtre sur la première colonne. https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#apply-autofilter-to-a-range-of-cells"
36
		},
37
		{
38
			"mainBackgroundColor": "ffffffff",
39
            "commentaire": "couleur de fond principale, avec canal alpha (2 premières lettres)"
40
		},
41
		{
42
			"mainFontColor": "FF222222",
43
            "commentaire": "couleur de police principale, avec canal alpha (2 premières lettres)"
44
		},
45
		{
46
			"mainFontSize": 12,
47
            "commentaire": "taille de police principale"
48
		},
49
		{
50
			"mainFontBold": false,
51
            "commentaire": "police principale en gras ou non"
52
		},
53
		{
54
			"headerFontColor": "FF222222",
55
            "commentaire": "couleur de police du header, avec canal alpha (2 premières lettres)"
56
		},
57
		{
58
			"headerFontSize": 14,
59
            "commentaire": "taille de police du header"
60
		},
61
		{
62
			"headerFontBold": true,
63
            "commentaire": "police du header en gras ou non"
64
		},
65
		{
66
			"headerFontColor2": "FF222222",
67
            "commentaire": "couleur de police 2 du header, avec canal alpha (2 premières lettres)"
68
		},
69
		{
70
			"headerFontSize2": 14,
71
            "commentaire": "taille de police 2 du header"
72
		},
73
		{
74
			"headerFontBold2": true,
75
            "commentaire": "police du header 2 en gras ou non"
76
		},
77
		{
78
			"headerBackgroundColor": "fffca841",
79
            "commentaire": "couleur de fond du header, avec canal alpha (2 premières lettres)"
80
		},
81
		{
82
			"headerBackgroundColor2": "ffd7a6ed",
83
            "commentaire": "couleur de fond du header 2, avec canal alpha (2 premières lettres)"
84
		},
85
		{
86
			"levelFontColor": "FF222222",
87
            "commentaire": "couleur de police des niveaux, avec canal alpha (2 premières lettres)"
88
		},
89
		{
90
			"levelFontSize": 12,
91
            "commentaire": "taille de police des niveaux"
92
		},
93
		{
94
			"levelFontBold": true,
95
            "commentaire": "police des niveaux en gras ou non"
96
		},
97
		{
98
			"levelBackgroundColor": "fff0f0f0",
99
            "commentaire": "couleur de fond des niveaux, avec canal alpha (2 premières lettres)"
100
		},
101
		{
102
			"borderColor": "FF59a0b7",
103
            "commentaire": "couleur de la bordure, avec canal alpha (2 premières lettres)"
104
		}
105
	],
106
	"columns": [
107
		{
108
			"item": "name",
109
			"properties": {
110
				"cellWidth": 50,
111
                "commentaire": "possibilité de préciser la larguer d'une colonne. https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#setting-the-default-column-width"
112
			}
113
		},
114
		{
115
			"item": "id",
116
			"properties": {
117
				"visible": false,
118
                "commentaire": "possibilité de préciser si la colonne est invisible (par défaut visible). https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#showhide-a-column"
119
			}
120
		},
121
		{
122
			"item": "priority"
123
		},
124
		{
125
			"item": "level",
126
			"properties": {
127
				"cellWidth": 50,
128
				"visible": false
129
			}
130
		},
131
		{
132
			"item": "target"
133
		},
134
		{
135
			"item": "goal"
136
		},
137
		{
138
			"item": "opgoal"
139
		},
140
		{
141
			"item": "description"
142
		},
143
		{
144
			"item": "body"
145
		},
146
		{
147
			"item": "finalities"
148
		},
149
		{
150
			"item": "tasks",
151
			"properties": {
152 2 Simon
				"display_percentage": 1
153 1 Simon
			}
154
		},
155
		{
156
			"item": "cal_begin_date"
157
		},
158
		{
159
			"item": "cal_estimated_date"
160
		},
161
		{
162
			"item": "cal_end_date"
163
		},
164
		{
165
			"item": "cal_completion"
166
		},
167
		{
168
			"item": "cal_comment"
169
		},
170
		{
171
			"item": "comment"
172
		},
173
		{
174
			"item": "budget"
175
		},
176
		{
177
			"item": "budget_comment"
178
		},
179
		{
180
			"item": "elected"
181
		},
182
		{
183
			"item": "manager"
184
		},
185
		{
186
			"item": "coordinator"
187
		},
188
		{
189
			"item": "partners"
190
		},
191
		{
192
			"item": "impact-energy"
193
		},
194
		{
195
			"item": "impact-ghg"
196
		},
197
		{
198
			"item": "impact-air"
199
		},
200
		{
201
			"item": "parent"
202
		},
203
		{
204
			"item": "status"
205
		},
206
		{
207
			"item": "author"
208
		},
209
		{
210
			"item": "scale"
211
		},
212
		{
213
			"item": "indicators"
214
		},
215
		{
216
			"item": "indicators-values",
217
			"properties": {
218
				"limit": 9,
219
                "commentaire_limit": "nécessité de préciser le nombre d'indicateurs maximal"
220
				"only_year": 1,
221
                "commentaire_only_year": "possibilité de n'afficher que l'année plutôt que la date complète"
222
			}
223
		}
224
	]
225
}
226
</code></pre>