Index: lams_build/3rdParty.userlibraries =================================================================== diff -u -r5340a74cf11fbd5145b1a7d2d42697587b1bbea4 -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_build/3rdParty.userlibraries (.../3rdParty.userlibraries) (revision 5340a74cf11fbd5145b1a7d2d42697587b1bbea4) +++ lams_build/3rdParty.userlibraries (.../3rdParty.userlibraries) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -1,10 +1,10 @@ - - - - + + + + @@ -41,7 +41,6 @@ - Index: lams_build/lib/apache-poi/poi-3.8-beta4-20110812.jar =================================================================== diff -u -r941922b2ef901dad643b18f6a349b156b5a822ea -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc Binary files differ Index: lams_build/lib/apache-poi/poi-3.9-20121203.jar =================================================================== diff -u Binary files differ Index: lams_build/lib/apache-poi/poi-ooxml-3.8-beta4-20110812.jar =================================================================== diff -u -r941922b2ef901dad643b18f6a349b156b5a822ea -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc Binary files differ Index: lams_build/lib/apache-poi/poi-ooxml-3.9-20121203.jar =================================================================== diff -u Binary files differ Index: lams_build/lib/apache-poi/poi-ooxml-schemas-3.8-beta4-20110812.jar =================================================================== diff -u -r941922b2ef901dad643b18f6a349b156b5a822ea -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc Binary files differ Index: lams_build/lib/apache-poi/poi-ooxml-schemas-3.9-20121203.jar =================================================================== diff -u Binary files differ Index: lams_build/lib/apache-poi/xmlbeans-2.3.0.jar =================================================================== diff -u Binary files differ Index: lams_build/lib/apache-poi/xmlbeans-2.4.0.jar =================================================================== diff -u -r941922b2ef901dad643b18f6a349b156b5a822ea -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc Binary files differ Index: lams_build/lib/excel/jxl.jar =================================================================== diff -u -r49cb26ada930a59687956591672498c7f5613d34 -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc Binary files differ Index: lams_build/lib/lams/lams-gradebook.jar =================================================================== diff -u -r8de4e6f48a6ad07b55ce8cc4a4eced6490838d0c -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc Binary files differ Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -rf34ad61132d7a8c888a0839f89fc334c5c8487cc -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc Binary files differ Index: lams_build/liblist.txt =================================================================== diff -u -r5340a74cf11fbd5145b1a7d2d42697587b1bbea4 -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_build/liblist.txt (.../liblist.txt) (revision 5340a74cf11fbd5145b1a7d2d42697587b1bbea4) +++ lams_build/liblist.txt (.../liblist.txt) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -2,10 +2,10 @@ Folder Library Version License Vendor Description -apache-poi poi-3.8-beta4-20110812.jar 3.8-beta4 Apache License 2.0 Apache the Java API for Microsoft Documents - poi-ooxml-3.8-beta4-20110812.jar - poi-ooxml-schemas-3.8-beta4-20110812.jar - xmlbeans-2.4.0.jar 2.4.0 +apache-poi poi-3.9-20121203.jar 3.9 Apache License 2.0 Apache the Java API for Microsoft Documents + poi-ooxml-3.9-20121203.jar + poi-ooxml-schemas-3.9-20121203.jar + xmlbeans-2.4.0.jar 2.3.0 aspirin aspirin.jar 0.8.03 Apache License 1.1 Apache embeddable send-only SMTP server commons-pool-1.5.1.jar 1.5.1 Apache License 2.0 Apache @@ -24,8 +24,6 @@ cglib cglib_jboss404GA.jar 4.0.4.GA Apache License 2.0 Apache bytecode manipulation framework -excel jxl.jar LGPL 2.0 JExcelApi - libary to work with Microsoft Excel spreadsheets - fckeditor fckeditor-java-core-2.6.jar 2.6 GPL, LGPL, MPL Frederico Caldeira Knabben Java connector for CKEditor flagstone transform.jar BSD Flagstone Software Ltd. reading and writing Flash Index: lams_central/src/java/org/lamsfoundation/lams/util/CentralConstants.java =================================================================== diff -u -ra985e29fc921fabc19dfe1199a99e21a696c5ba4 -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_central/src/java/org/lamsfoundation/lams/util/CentralConstants.java (.../CentralConstants.java) (revision a985e29fc921fabc19dfe1199a99e21a696c5ba4) +++ lams_central/src/java/org/lamsfoundation/lams/util/CentralConstants.java (.../CentralConstants.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -185,9 +185,5 @@ public static final String RESPONSE_CONTENT_TYPE_DOWNLOAD = "application/x-download"; - public static final String FILE_EXTENSION_XLS = ".xls"; - - public static final String FILE_EXTENSION_CSV = ".csv"; - public static final String HEADER_CONTENT_ATTACHMENT = "attachment;filename="; } \ No newline at end of file Fisheye: Tag 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc refers to a dead (removed) revision in file `lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/ExcelCell.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -rc6f888c0e3d1349e584f4989aaa438a2f194a4be -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision c6f888c0e3d1349e584f4989aaa438a2f194a4be) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -41,14 +41,12 @@ import java.util.TimeZone; import java.util.TreeSet; -import org.apache.commons.collections.map.MultiKeyMap; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.lamsfoundation.lams.dao.IBaseDAO; import org.lamsfoundation.lams.gradebook.GradebookUserActivity; import org.lamsfoundation.lams.gradebook.GradebookUserLesson; import org.lamsfoundation.lams.gradebook.dao.IGradebookDAO; -import org.lamsfoundation.lams.gradebook.dto.ExcelCell; import org.lamsfoundation.lams.gradebook.dto.GBActivityGridRowDTO; import org.lamsfoundation.lams.gradebook.dto.GBLessonGridRowDTO; import org.lamsfoundation.lams.gradebook.dto.GBUserGridRowDTO; @@ -78,6 +76,7 @@ import org.lamsfoundation.lams.util.Configuration; import org.lamsfoundation.lams.util.ConfigurationKeys; import org.lamsfoundation.lams.util.DateUtil; +import org.lamsfoundation.lams.util.ExcelCell; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.web.util.AttributeNames; Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java =================================================================== diff -u -rd9a8907ef60b47f5dbe1c024a93cb44c3e0a4174 -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java (.../IGradebookService.java) (revision d9a8907ef60b47f5dbe1c024a93cb44c3e0a4174) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java (.../IGradebookService.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -24,13 +24,11 @@ package org.lamsfoundation.lams.gradebook.service; import java.util.ArrayList; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import org.lamsfoundation.lams.gradebook.GradebookUserActivity; import org.lamsfoundation.lams.gradebook.GradebookUserLesson; -import org.lamsfoundation.lams.gradebook.dto.ExcelCell; import org.lamsfoundation.lams.gradebook.dto.GBLessonGridRowDTO; import org.lamsfoundation.lams.gradebook.dto.GBUserGridRowDTO; import org.lamsfoundation.lams.gradebook.dto.GradebookGridRowDTO; @@ -40,6 +38,7 @@ import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.util.ExcelCell; public interface IGradebookService { Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookUtil.java =================================================================== diff -u -r8de4e6f48a6ad07b55ce8cc4a4eced6490838d0c -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookUtil.java (.../GradebookUtil.java) (revision 8de4e6f48a6ad07b55ce8cc4a4eced6490838d0c) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookUtil.java (.../GradebookUtil.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -52,7 +52,6 @@ import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook; -import org.lamsfoundation.lams.gradebook.dto.ExcelCell; import org.lamsfoundation.lams.gradebook.dto.GradebookGridRowDTO; import org.lamsfoundation.lams.gradebook.dto.comparators.GBAverageMarkComparator; import org.lamsfoundation.lams.gradebook.dto.comparators.GBAverageTimeTakenComparator; @@ -67,8 +66,6 @@ import org.w3c.dom.Element; public class GradebookUtil { - - private static CellStyle boldStyle; /** * Wrapper method for printing the xml for grid rows @@ -320,87 +317,4 @@ else throw new IllegalArgumentException("[" + view + "] is not a legal gradebook view"); } - - public static void exportGradebookLessonToExcel(OutputStream out, - LinkedHashMap dataToExport, String dateHeader, boolean displaySheetTitle) - throws IOException { - Workbook workbook = new SXSSFWorkbook(100); // keep 100 rows in memory, exceeding rows will be flushed to disk - - boldStyle = workbook.createCellStyle(); - Font font = workbook.createFont(); - font.setBoldweight(Font.BOLDWEIGHT_BOLD); - boldStyle.setFont(font); - - int i = 0; - for (String sheetName : dataToExport.keySet()) { - if (dataToExport.get(sheetName) != null) { - String sheetTitle = (displaySheetTitle) ? sheetName : null; - createSheet(workbook, sheetName, sheetTitle, i, dateHeader, dataToExport.get(sheetName)); - i++; - } - } - - workbook.write(out); - out.close(); - } - - public static void createSheet(Workbook workbook, String sheetName, String sheetTitle, int sheetIndex, - String dateHeader, ExcelCell[][] data) throws IOException { - Sheet sheet = workbook.createSheet(sheetName); - - - // Print title in bold, if needed - if (!StringUtils.isBlank(sheetTitle)) { - Row row = sheet.createRow(0); - createCell(new ExcelCell(sheetTitle, true), 0, row); - } - - // Print current date, if needed - if (!StringUtils.isBlank(dateHeader)) { - Row row = sheet.createRow(1); - createCell(new ExcelCell(dateHeader, false), 0, row); - - SimpleDateFormat titleDateFormat = new SimpleDateFormat(FileUtil.EXPORT_TO_SPREADSHEET_TITLE_DATE_FORMAT); - createCell(new ExcelCell(titleDateFormat.format(new Date()), false), 1, row); - } - - if (data != null) { - // Print data - for (int rowIndex = 0; rowIndex < data.length; rowIndex++) { - - //in case there is a sheet title or dateHeader available start from 4th row - int rowIndexOffset = (StringUtils.isBlank(sheetTitle) && StringUtils.isBlank(dateHeader)) ? 0 : 4; - - Row row = sheet.createRow(rowIndex + rowIndexOffset); - - for (int columnIndex = 0; columnIndex < data[rowIndex].length; columnIndex++) { - ExcelCell excelCell = data[rowIndex][columnIndex]; - createCell(excelCell, columnIndex, row); - } - } - } - } - - public static void createCell(ExcelCell excelCell, int cellnum, Row row) { - - if (excelCell != null) { - Cell cell = row.createCell(cellnum); - if (excelCell.getCellValue() != null && excelCell.getCellValue() instanceof Date) { - SimpleDateFormat cellDateFormat = new SimpleDateFormat(FileUtil.EXPORT_TO_SPREADSHEET_CELL_DATE_FORMAT); - cell.setCellValue(cellDateFormat.format(excelCell.getCellValue())); - } else if (excelCell.getCellValue() != null && excelCell.getCellValue() instanceof java.lang.Double) { - cell.setCellValue((Double) excelCell.getCellValue()); - } else if (excelCell.getCellValue() != null && excelCell.getCellValue() instanceof java.lang.Long) { - cell.setCellValue(((Long) excelCell.getCellValue()).doubleValue()); - } else if (excelCell.getCellValue() != null) { - cell.setCellValue(excelCell.getCellValue().toString()); - } - - if (excelCell.getIsBold()) { - cell.setCellStyle(boldStyle); - } - } - } - - } Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java =================================================================== diff -u -r8de4e6f48a6ad07b55ce8cc4a4eced6490838d0c -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java (.../GradebookMonitoringAction.java) (revision 8de4e6f48a6ad07b55ce8cc4a4eced6490838d0c) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java (.../GradebookMonitoringAction.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -23,9 +23,7 @@ /* $Id$ */ package org.lamsfoundation.lams.gradebook.web.action; -import java.util.HashMap; import java.util.LinkedHashMap; -import java.util.List; import javax.servlet.ServletOutputStream; import javax.servlet.http.Cookie; @@ -37,14 +35,11 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.gradebook.dto.ExcelCell; -import org.lamsfoundation.lams.gradebook.dto.GBUserGridRowDTO; import org.lamsfoundation.lams.gradebook.service.IGradebookService; import org.lamsfoundation.lams.gradebook.util.GBGridView; import org.lamsfoundation.lams.gradebook.util.GradebookConstants; import org.lamsfoundation.lams.gradebook.util.GradebookUtil; import org.lamsfoundation.lams.learningdesign.Activity; -import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.dto.LessonDetailsDTO; import org.lamsfoundation.lams.lesson.service.ILessonService; @@ -53,6 +48,8 @@ import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; +import org.lamsfoundation.lams.util.ExcelCell; +import org.lamsfoundation.lams.util.ExcelUtil; import org.lamsfoundation.lams.util.FileUtil; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; @@ -327,8 +324,7 @@ fileDownloadTokenCookie.setPath("/"); response.addCookie(fileDownloadTokenCookie); - GradebookUtil.exportGradebookLessonToExcel(out, dataToExport, - gradebookService.getMessage("gradebook.export.dateheader"), true); + ExcelUtil.createExcel(out, dataToExport, gradebookService.getMessage("gradebook.export.dateheader"), true); return null; } @@ -369,8 +365,7 @@ //Code to generate file and write file contents to response ServletOutputStream out = response.getOutputStream(); - GradebookUtil.exportGradebookLessonToExcel(out, dataToExport, - gradebookService.getMessage("gradebook.export.dateheader"), true); + ExcelUtil.createExcel(out, dataToExport, gradebookService.getMessage("gradebook.export.dateheader"), true); return null; } Fisheye: Tag 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dto/ExcelCell.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/util/AssessmentExportXLSUtil.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/MonitoringAction.java =================================================================== diff -u -r9727106bb7f305a094b00c9a0b29a09dee57990b -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 9727106bb7f305a094b00c9a0b29a09dee57990b) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -39,8 +39,6 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import jxl.JXLException; - import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.apache.struts.action.Action; @@ -49,7 +47,6 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.lamsfoundation.lams.tool.assessment.AssessmentConstants; -import org.lamsfoundation.lams.tool.assessment.dto.ExcelCell; import org.lamsfoundation.lams.tool.assessment.dto.QuestionSummary; import org.lamsfoundation.lams.tool.assessment.dto.Summary; import org.lamsfoundation.lams.tool.assessment.dto.UserSummary; @@ -62,9 +59,10 @@ import org.lamsfoundation.lams.tool.assessment.model.AssessmentSession; import org.lamsfoundation.lams.tool.assessment.model.AssessmentUser; import org.lamsfoundation.lams.tool.assessment.service.IAssessmentService; -import org.lamsfoundation.lams.tool.assessment.util.AssessmentExportXLSUtil; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.DateUtil; +import org.lamsfoundation.lams.util.ExcelCell; +import org.lamsfoundation.lams.util.ExcelUtil; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -279,25 +277,21 @@ // Setting the filename if it wasn't passed in the request if (fileName == null && assessment.getTitle() != null) { - fileName = assessment.getTitle().replaceAll(" ", "_") + "_export.xls"; + fileName = assessment.getTitle().replaceAll(" ", "_") + "_export.xlsx"; } else if (fileName == null) { - fileName = "assessment_export.xls"; + fileName = "assessment_export.xlsx"; } response.setContentType("application/x-download"); response.setHeader("Content-Disposition", "attachment;filename=" + fileName); log.debug("Exporting assessment to a spreadsheet: " + assessment.getContentId()); ServletOutputStream out = response.getOutputStream(); - AssessmentExportXLSUtil.exportAssessmentToExcel(out, service.getMessage("label.export.exported.on"), - dataToExport); + ExcelUtil.createExcel(out, dataToExport, service.getMessage("label.export.exported.on"), true); } catch (IOException e) { MonitoringAction.log.error(e); errors = new ActionMessage("error.monitoring.export.excel", e.toString()).toString(); - } catch (JXLException e) { - MonitoringAction.log.error(e); - errors = new ActionMessage("error.monitoring.export.excel", e.toString()).toString(); } } Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java =================================================================== diff -u -r5340a74cf11fbd5145b1a7d2d42697587b1bbea4 -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java (.../DacoConstants.java) (revision 5340a74cf11fbd5145b1a7d2d42697587b1bbea4) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java (.../DacoConstants.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -293,7 +293,7 @@ // for export to spreadsheet - public static final String EXPORT_TO_SPREADSHEET_FILE_NAME = "Data_Collection_Export"; + public static final String EXPORT_TO_SPREADSHEET_FILE_NAME = "Data_Collection_Export.xlsx"; public static final String KEY_LABEL_EXPORT_FILE_SHEET = "label.export.file.sheet"; Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/util/DacoExcelUtil.java =================================================================== diff -u -r5340a74cf11fbd5145b1a7d2d42697587b1bbea4 -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/util/DacoExcelUtil.java (.../DacoExcelUtil.java) (revision 5340a74cf11fbd5145b1a7d2d42697587b1bbea4) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/util/DacoExcelUtil.java (.../DacoExcelUtil.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -25,23 +25,12 @@ import java.io.IOException; import java.io.OutputStream; -import java.text.SimpleDateFormat; -import java.util.Date; +import java.util.ArrayList; +import java.util.LinkedHashMap; -import jxl.CellView; -import jxl.JXLException; -import jxl.Workbook; -import jxl.format.Font; -import jxl.write.Label; -import jxl.write.WritableCell; -import jxl.write.WritableCellFormat; -import jxl.write.WritableFont; -import jxl.write.WritableSheet; -import jxl.write.WritableWorkbook; +import org.lamsfoundation.lams.util.ExcelCell; +import org.lamsfoundation.lams.util.ExcelUtil; -import org.apache.commons.lang.StringUtils; -import org.lamsfoundation.lams.util.FileUtil; - public class DacoExcelUtil { /** @@ -59,63 +48,45 @@ * {@link #EXPORT_TO_SPREADSHEET_TITLE_DATE_FORMAT} * @param columnNames * name of the columns that describe data parameter - * @param data + * @param inputData * array of data to print out; first index of array describes a row, second a column; dates are formatted * according to {@link #EXPORT_TO_SPREADSHEET_CELL_DATE_FORMAT} * @throws IOException * @throws JXLException */ - public static void exportToolToExcel(OutputStream out, String sheetName, String title, String dateHeader, - String[] columnNames, Object[][] data) throws IOException, JXLException { - WritableWorkbook workbook = Workbook.createWorkbook(out); - WritableSheet sheet = workbook.createSheet(sheetName, 0); - // Prepare cell formatter used in all columns - CellView stretchedCellView = new CellView(); - stretchedCellView.setAutosize(true); - // Pring title in bold, if needed - if (!StringUtils.isBlank(title)) { - Label titleCell = new Label(0, 0, title); - Font font = titleCell.getCellFormat().getFont(); - WritableFont titleFont = new WritableFont(font); - titleFont.setBoldStyle(WritableFont.BOLD); - WritableCellFormat titleCellFormat = new WritableCellFormat(titleFont); - titleCell.setCellFormat(titleCellFormat); - sheet.addCell(titleCell); + public static void exportToExcel(OutputStream out, String sheetName, String title, String dateHeader, + String[] columnNames, Object[][] inputData) throws IOException { + + + LinkedHashMap dataToExport = new LinkedHashMap(); + + ArrayList data = new ArrayList(); + + ExcelCell[] summaryRowTitle = new ExcelCell[columnNames.length]; + for (int columnIndex = 0; columnIndex < columnNames.length; columnIndex++) { + String columnName = columnNames[columnIndex]; + summaryRowTitle[columnIndex] = new ExcelCell(columnName, true); } - // Print current date, if needed - if (!StringUtils.isBlank(dateHeader)) { - sheet.addCell(new Label(0, 1, dateHeader)); - SimpleDateFormat titleDateFormat = new SimpleDateFormat(FileUtil.EXPORT_TO_SPREADSHEET_TITLE_DATE_FORMAT); - sheet.addCell(new Label(1, 1, titleDateFormat.format(new Date()))); - } - // Print column names, if needed - if (columnNames != null) { - for (int columnIndex = 0; columnIndex < columnNames.length; columnIndex++) { - sheet.addCell(new Label(columnIndex, 3, columnNames[columnIndex])); - sheet.setColumnView(columnIndex, stretchedCellView); - } - } - SimpleDateFormat cellDateFormat = new SimpleDateFormat(FileUtil.EXPORT_TO_SPREADSHEET_CELL_DATE_FORMAT); - if (data != null) { + data.add(summaryRowTitle); + + if (inputData != null) { // Print data - for (int rowIndex = 0; rowIndex < data.length; rowIndex++) { - int sheetRowIndex = rowIndex + 4; - for (int columnIndex = 0; columnIndex < data[rowIndex].length; columnIndex++) { - Object content = data[rowIndex][columnIndex]; + for (int rowIndex = 0; rowIndex < inputData.length; rowIndex++) { + ExcelCell[] row = new ExcelCell[columnNames.length]; + + for (int columnIndex = 0; columnIndex < inputData[rowIndex].length; columnIndex++) { + + Object content = inputData[rowIndex][columnIndex]; if (content != null) { - WritableCell cell = null; - if (content instanceof Date) { - Date date = (Date) content; - cell = new Label(columnIndex, sheetRowIndex, cellDateFormat.format(date)); - } else { - cell = new Label(columnIndex, sheetRowIndex, content.toString()); - } - sheet.addCell(cell); + row[columnIndex] = new ExcelCell(content, false); } } + data.add(row); } } - workbook.write(); - workbook.close(); + + dataToExport.put(title, data.toArray(new ExcelCell[][] {})); + + ExcelUtil.createExcel(out, dataToExport, dateHeader, true); } } Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/MonitoringAction.java =================================================================== diff -u -r5340a74cf11fbd5145b1a7d2d42697587b1bbea4 -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 5340a74cf11fbd5145b1a7d2d42697587b1bbea4) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -39,8 +39,6 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import jxl.JXLException; - import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.apache.struts.action.Action; @@ -76,7 +74,7 @@ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws IOException, ServletException, JXLException, ParseException { + HttpServletResponse response) throws IOException, ServletException, ParseException { String param = mapping.getParameter(); if (param.equals("summary")) { @@ -229,7 +227,7 @@ * @throws ParseException */ protected ActionForward exportToSpreadsheet(HttpServletRequest request, HttpServletResponse response) - throws IOException, JXLException, ParseException { + throws IOException, ParseException { // Get required parameters String sessionMapID = request.getParameter(DacoConstants.ATTR_SESSION_MAP_ID); SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); @@ -392,7 +390,7 @@ Object[][] data = rows.toArray(new Object[][] {}); // Prepare response headers - String fileName = DacoConstants.EXPORT_TO_SPREADSHEET_FILE_NAME + CentralConstants.FILE_EXTENSION_XLS; + String fileName = DacoConstants.EXPORT_TO_SPREADSHEET_FILE_NAME; fileName = FileUtil.encodeFilenameForDownload(request, fileName); response.setContentType(CentralConstants.RESPONSE_CONTENT_TYPE_DOWNLOAD); response.setHeader(CentralConstants.HEADER_CONTENT_DISPOSITION, CentralConstants.HEADER_CONTENT_ATTACHMENT @@ -402,7 +400,7 @@ // Export to XLS String sheetName = service.getLocalisedMessage(DacoConstants.KEY_LABEL_EXPORT_FILE_SHEET, null); - DacoExcelUtil.exportToolToExcel(out, sheetName, title, dateHeader, columnNames, data); + DacoExcelUtil.exportToExcel(out, sheetName, title, dateHeader, columnNames, data); // Return the file inside response, but not any JSP page return null; Index: lams_tool_scratchie/.classpath =================================================================== diff -u -rf577ded394a9d3a03062b5ac2ddb197a50c3bcab -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_tool_scratchie/.classpath (.../.classpath) (revision f577ded394a9d3a03062b5ac2ddb197a50c3bcab) +++ lams_tool_scratchie/.classpath (.../.classpath) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -16,10 +16,9 @@ + - - - + Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java =================================================================== diff -u -r9ecffbf5351e9dbf37af3b94a83f8450b314bf62 -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java (.../IScratchieService.java) (revision 9ecffbf5351e9dbf37af3b94a83f8450b314bf62) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/IScratchieService.java (.../IScratchieService.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -23,16 +23,13 @@ /* $$Id$$ */ package org.lamsfoundation.lams.tool.scratchie.service; -import java.util.ArrayList; import java.util.Collection; import java.util.LinkedHashMap; import java.util.List; -import java.util.Map; import java.util.Set; import org.apache.struts.upload.FormFile; import org.lamsfoundation.lams.events.IEventNotificationService; -import org.lamsfoundation.lams.gradebook.dto.ExcelCell; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.tool.scratchie.dto.GroupSummary; import org.lamsfoundation.lams.tool.scratchie.dto.ReflectDTO; @@ -44,6 +41,7 @@ import org.lamsfoundation.lams.tool.scratchie.model.ScratchieSession; import org.lamsfoundation.lams.tool.scratchie.model.ScratchieUser; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.util.ExcelCell; /** * Interface that defines the contract that all ShareScratchie service provider must follow. Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java =================================================================== diff -u -r6b651e7c25c7baa6a942ea7348f59701bbb4e603 -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision 6b651e7c25c7baa6a942ea7348f59701bbb4e603) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/service/ScratchieServiceImpl.java (.../ScratchieServiceImpl.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -55,7 +55,6 @@ import org.lamsfoundation.lams.contentrepository.service.IRepositoryService; import org.lamsfoundation.lams.contentrepository.service.SimpleCredentials; import org.lamsfoundation.lams.events.IEventNotificationService; -import org.lamsfoundation.lams.gradebook.dto.ExcelCell; import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.service.ExportToolContentException; import org.lamsfoundation.lams.learningdesign.service.IExportToolContentService; @@ -97,6 +96,7 @@ import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; +import org.lamsfoundation.lams.util.ExcelCell; import org.lamsfoundation.lams.util.MessageService; /** Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java =================================================================== diff -u -r6b651e7c25c7baa6a942ea7348f59701bbb4e603 -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 6b651e7c25c7baa6a942ea7348f59701bbb4e603) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) @@ -27,7 +27,6 @@ import java.io.IOException; import java.util.LinkedHashMap; import java.util.List; -import java.util.Map; import java.util.Set; import javax.servlet.ServletException; @@ -40,8 +39,6 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.gradebook.dto.ExcelCell; -import org.lamsfoundation.lams.gradebook.util.GradebookUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.scratchie.ScratchieConstants; @@ -52,6 +49,8 @@ import org.lamsfoundation.lams.tool.scratchie.model.ScratchieSession; import org.lamsfoundation.lams.tool.scratchie.model.ScratchieUser; import org.lamsfoundation.lams.tool.scratchie.service.IScratchieService; +import org.lamsfoundation.lams.util.ExcelCell; +import org.lamsfoundation.lams.util.ExcelUtil; import org.lamsfoundation.lams.util.FileUtil; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -223,7 +222,7 @@ // Code to generate file and write file contents to response ServletOutputStream out = response.getOutputStream(); - GradebookUtil.exportGradebookLessonToExcel(out, dataToExport, null, false); + ExcelUtil.createExcel(out, dataToExport, null, false); return null; }