1 void printSummary()
2 {
3 int i;
4 Dimensions m_Dimensions;
5 #avifiles
6 SysOperationProgress simpleProgress = SysOperationProgress::newGeneral(#aviUpdate, "Generating",100);
7 ;
8
9 excel = SysExcelApplication::construct();
10 excel.visible(true);
11 books = excel.workbooks();
12 book = books.add();
13 Sheets = book.worksheets();
14 sheet = sheets.itemFromNum(1);
15 sheet.name("Project summary report");
16
17 styles = book.styles();
18 style = styles.add("StyleGlobal");
19 font = style.font();
20 font.comObject().Size(9);
21 sheet.columns().style("StyleGlobal");
22
23 sheet.cells().item(1, 1).value("Project summary report");
24 sheet = excel.activeSheet();
25 range = sheet.range("A1");
26 styles = book.styles();
27 style = styles.add("StyleTitle");
28 font = style.font();
29 font.bold(true);
30 font.comObject().Size(16);
31 range.style("StyleTitle");
32
33 sheet.cells().item(2, 1).value(strfmt("Period: %1..%2", mkdate(1, 1, g_Year), mkdate(31, 12, g_Year)));
34 sheet.cells().item(2, 14).value("Currency: USD");
35 sheet = excel.activeSheet();
36 range = sheet.range("A2:N2");
37 styles = book.styles();
38 style = styles.add("StylePeriod");
39 font = style.font();
40 font.bold(true);
41 font.comObject().Size(12);
42 range.style("StylePeriod");
43
44 sheet.cells().item(3, 1).value("Number");
45 sheet.cells().item(3, 2).value("Description");
46 sheet.cells().item(3, 3).value(g_Mth1); sheet.cells().item(3, 4).value(g_Mth2);
47 sheet.cells().item(3, 5).value(g_Mth3); sheet.cells().item(3, 6).value(g_Mth4);
48 sheet.cells().item(3, 7).value(g_Mth5); sheet.cells().item(3, 8).value(g_Mth6);
49 sheet.cells().item(3, 9).value(g_Mth7); sheet.cells().item(3, 10).value(g_Mth8);
50 sheet.cells().item(3, 11).value(g_Mth9); sheet.cells().item(3, 12).value(g_Mth10);
51 sheet.cells().item(3, 13).value(g_Mth11); sheet.cells().item(3, 14).value(g_Mth12);
52 sheet = excel.activeSheet();
53 range = sheet.range("A3:N3");
54 styles = book.styles();
55 style = styles.add("StyleHeader");
56 font = style.font();
57 font.bold(true);
58 font.comObject().Size(10);
59 range.style("StyleHeader");
60
61 sheet.cells().range("C3").numberFormat("mmm-yy"); sheet.cells().range("D3").numberFormat("mmm-yy");
62 sheet.cells().range("E3").numberFormat("mmm-yy"); sheet.cells().range("F3").numberFormat("mmm-yy");
63 sheet.cells().range("G3").numberFormat("mmm-yy"); sheet.cells().range("H3").numberFormat("mmm-yy");
64 sheet.cells().range("I3").numberFormat("mmm-yy"); sheet.cells().range("J3").numberFormat("mmm-yy");
65 sheet.cells().range("K3").numberFormat("mmm-yy"); sheet.cells().range("L3").numberFormat("mmm-yy");
66 sheet.cells().range("M3").numberFormat("mmm-yy"); sheet.cells().range("N3").numberFormat("mmm-yy");
67
68 i = 3;
69 while select m_Dimensions
70 order by m_Dimensions.Num asc
71 where m_Dimensions.DimensionCode == SysDimension::Department &&
72 m_Dimensions.Num != "P9999"
73 {
74 g_TotalPercent = (i - 2) / g_TotalRecNum * 100;
75 simpleprogress.setCaption("Generating data, pease wait...");
76 simpleProgress.incCount(str2int64(strfmt("%1", g_TotalPercent)));
77 simpleprogress.setText(strfmt("Generated: %1%", g_TotalPercent));
78 simpleprogress.update(true);
79
80 i++;
81 sheet.cells().item(i, 1).value(m_Dimensions.Num);
82 sheet.cells().item(i, 2).value(m_Dimensions.Description);
83 sheet.cells().item(i, 3).value(element.sumProject(m_Dimensions.Num, g_Mth1));
84 sheet.cells().item(i, 4).value(element.sumProject(m_Dimensions.Num, g_Mth2));
85 sheet.cells().item(i, 5).value(element.sumProject(m_Dimensions.Num, g_Mth3));
86 sheet.cells().item(i, 6).value(element.sumProject(m_Dimensions.Num, g_Mth4));
87 sheet.cells().item(i, 7).value(element.sumProject(m_Dimensions.Num, g_Mth5));
88 sheet.cells().item(i, 8).value(element.sumProject(m_Dimensions.Num, g_Mth6));
89 sheet.cells().item(i, 9).value(element.sumProject(m_Dimensions.Num, g_Mth7));
90 sheet.cells().item(i, 10).value(element.sumProject(m_Dimensions.Num, g_Mth8));
91 sheet.cells().item(i, 11).value(element.sumProject(m_Dimensions.Num, g_Mth9));
92 sheet.cells().item(i, 12).value(element.sumProject(m_Dimensions.Num, g_Mth10));
93 sheet.cells().item(i, 13).value(element.sumProject(m_Dimensions.Num, g_Mth11));
94 sheet.cells().item(i, 14).value(element.sumProject(m_Dimensions.Num, g_Mth12));
95 }
96
97 //Summary all
98 i++;
99 sheet.cells().item(i, 2).value("All in total:");
100 sheet.cells().item(i, 3).value(g_Sum1);
101 sheet.cells().item(i, 4).value(g_Sum2);
102 sheet.cells().item(i, 5).value(g_Sum3);
103 sheet.cells().item(i, 6).value(g_Sum4);
104 sheet.cells().item(i, 7).value(g_Sum5);
105 sheet.cells().item(i, 8).value(g_Sum6);
106 sheet.cells().item(i, 9).value(g_Sum7);
107 sheet.cells().item(i, 10).value(g_Sum8);
108 sheet.cells().item(i, 11).value(g_Sum9);
109 sheet.cells().item(i, 12).value(g_Sum10);
110 sheet.cells().item(i, 13).value(g_Sum11);
111 sheet.cells().item(i, 14).value(g_Sum12);
112
113 sheet = excel.activeSheet();
114 styles = book.styles();
115 style = styles.add("StyleSum");
116 font = style.font();
117 font.bold(true);
118 range = sheet.range(strfmt("A%1:N%2", i, i));
119 range.style("StyleSum");
120
121 styles = book.styles();
122 style = styles.add("StyleAlign");
123 style.horizontalAlignment(-4152);
124 font = style.font();
125 font.bold(true);
126
127 sheet.cells().range("A1:B1").comObject().merge();
128 sheet.cells().range("A2:B2").comObject().merge();
129 sheet.cells().range("L2:N2").comObject().merge();
130 sheet.cells().range("L2:N2").style("StyleAlign");
131 sheet.columns().autoFit();
132
133 info("Print project summary report successful!");
134 }