@@ -24,7 +24,6 @@ module.exports = {
2424 let subjectPassFailCount = await getSubjectPassFailCount ( exam_id , programme ) ;
2525 let subjectToppers = await getAllSubjectToppers ( exam_id , programme ) ;
2626
27-
2827 const workbook = new ExcelJS . Workbook ( ) ;
2928 const worksheet = workbook . addWorksheet ( 'Analysis' , {
3029 pageSetup : {
@@ -180,52 +179,59 @@ module.exports = {
180179 // ------------------------------ Subject-wise Toppers Table ------------------------------ //
181180
182181
182+ let extraRows = 0 ;
183+ data . subjects . length > classTop5 . length ? extraRows = data . subjects . length : extraRows = classTop5 . length ;
183184
184- worksheet . mergeCells ( 'A' + ( 15 + data . subjects . length + classTop5 . length ) + ':M' + ( 15 + data . subjects . length + classTop5 . length ) ) ;
185- worksheet . getCell ( 'A' + ( 15 + data . subjects . length + classTop5 . length ) ) . value = 'Subject-wise Toppers List' ;
185+ extraRows = 9 + extraRows + data . subjects . length + 5 ;
186186
187- worksheet . mergeCells ( 'A' + ( 16 + data . subjects . length + classTop5 . length ) + ':E ' + ( 16 + data . subjects . length + classTop5 . length ) ) ;
188- worksheet . getCell ( 'A' + ( 16 + data . subjects . length + classTop5 . length ) ) . value = 'Subjects ' ;
187+ worksheet . mergeCells ( 'A' + extraRows + ':M ' + extraRows ) ;
188+ worksheet . getCell ( 'A' + extraRows ) . value = 'Subject-wise Toppers List ' ;
189189
190- worksheet . mergeCells ( 'F' + ( 16 + data . subjects . length + classTop5 . length ) + ':H' + ( 16 + data . subjects . length + classTop5 . length ) ) ;
191- worksheet . getCell ( 'F' + ( 16 + data . subjects . length + classTop5 . length ) ) . value = 'Name of the Student' ;
190+ extraRows += 1 ;
192191
193- worksheet . getCell ( 'I ' + ( 16 + data . subjects . length + classTop5 . length ) ) . value = 'Marks' ;
194- worksheet . getCell ( 'J ' + ( 16 + data . subjects . length + classTop5 . length ) ) . value = 'Grade ' ;
192+ worksheet . mergeCells ( 'A ' + extraRows + ':E' + extraRows ) ;
193+ worksheet . getCell ( 'A ' + extraRows ) . value = 'Subjects ' ;
195194
196- worksheet . mergeCells ( 'K ' + ( 16 + data . subjects . length + classTop5 . length ) + ':M ' + ( 16 + data . subjects . length + classTop5 . length ) ) ;
197- worksheet . getCell ( 'K ' + ( 16 + data . subjects . length + classTop5 . length ) ) . value = 'Name of the Teacher ' ;
195+ worksheet . mergeCells ( 'F ' + extraRows + ':H ' + extraRows ) ;
196+ worksheet . getCell ( 'F ' + extraRows ) . value = 'Name of the Student ' ;
198197
199- let startRow , endRow , extraRows = 0 ;
198+ worksheet . getCell ( 'I' + extraRows ) . value = 'Marks' ;
199+ worksheet . getCell ( 'J' + extraRows ) . value = 'Grade' ;
200200
201- for ( let i = 0 ; i < subjectToppers . length ; i ++ ) {
201+ worksheet . mergeCells ( 'K' + extraRows + ':M' + extraRows ) ;
202+ worksheet . getCell ( 'K' + extraRows ) . value = 'Name of the Teacher' ;
202203
203- startRow = 17 + data . subjects . length + classTop5 . length + i ;
204- endRow = 17 + data . subjects . length + classTop5 . length + i ;
204+ extraRows += 1 ;
205+
206+ let startRow = endRow = extraRows ;
205207
206- startRow = 17 + data . subjects . length + classTop5 . length + i + extraRows ;
207- extraRows += subjectToppers [ i ] . count - 1 ;
208- endRow = 17 + data . subjects . length + classTop5 . length + i + extraRows ;
209208
210- worksheet . mergeCells ( 'A' + ( startRow ) + ':E' + ( endRow ) ) ;
211- worksheet . getCell ( 'A' + ( startRow ) ) . value = subjectToppers [ i ] . course ;
209+ for ( let i = 0 ; i < subjectToppers . length ; i ++ ) {
212210
213211 for ( let j = 0 ; j < subjectToppers [ i ] . toppers . length ; j ++ ) {
214212 worksheet . mergeCells ( 'F' + ( startRow + j ) + ':H' + ( startRow + j ) ) ;
215213 worksheet . getCell ( 'F' + ( startRow + j ) ) . value = subjectToppers [ i ] . toppers [ j ] . name ;
214+
215+ endRow = startRow + j ;
216+ // break;
216217 }
217-
218- worksheet . mergeCells ( 'I' + ( startRow ) + ':I' + ( endRow ) ) ;
219- worksheet . getCell ( 'I' + ( startRow ) ) . value = subjectToppers [ i ] . marks ;
220-
221- worksheet . mergeCells ( 'J' + ( startRow ) + ':J' + ( endRow ) ) ;
222- worksheet . getCell ( 'J' + ( startRow ) ) . value = subjectToppers [ i ] . grade ;
223-
224- worksheet . mergeCells ( 'K' + ( startRow ) + ':M' + ( endRow ) ) ;
225- worksheet . getCell ( 'K' + ( startRow ) ) . value = "Not Available" ;
226-
218+
219+ worksheet . mergeCells ( 'A' + ( startRow ) + ':E' + ( endRow ) ) ;
220+ worksheet . getCell ( 'A' + ( startRow ) ) . value = subjectToppers [ i ] . course_name ;
221+
222+ worksheet . mergeCells ( 'I' + startRow + ':I' + endRow ) ;
223+ worksheet . getCell ( 'I' + startRow ) . value = subjectToppers [ i ] . total ;
224+
225+ worksheet . mergeCells ( 'J' + startRow + ':J' + endRow ) ;
226+ worksheet . getCell ( 'J' + startRow ) . value = subjectToppers [ i ] . grade ;
227+
228+ worksheet . mergeCells ( 'K' + startRow + ':M' + endRow ) ;
229+ worksheet . getCell ( 'K' + startRow ) . value = "Not Available" ;
230+
231+ startRow = endRow + 1 ;
232+ // break;
227233 }
228-
234+
229235
230236
231237 // ------------------------------ Styling ------------------------------ //
0 commit comments