def writeOutput(self, differencePrompts, outputFile=None): if not outputFile: outputFile = self.default_output xl = ExcelWorkbook() xl.createNewWorkbook() xl.setColumnWidth(1, 20) xl.setColumnWidth(2, 50) xl.setColumnWidth(3, 50) promptNames = differencePrompts.keys() promptNames.sort() row = 1 for prompt in promptNames: column = 1 xl.setCellValue(row, column, prompt) xl.setCellWrapText(row, column, True) for val in differencePrompts[prompt]: column += 1 xl.setCellWrapText(row, column, True) xl.setCellValue(row, column, val) row += 1 xl.saveAs(outputFile) xl.close() del xl
def writeComparison(self): if not self.xlApp: xlApp = ExcelWorkbook() else: if not self.xlApp.isClosed(): self.xlApp.closeWorkbook() xlApp = self.xlApp xlApp.createNewWorkbook() #xlApp.setVisible(True) currentSheet = 1 xlApp.setCurrentSheet(currentSheet) print "Writing out differences..." for i in xrange(1, len(self.differences)+1): if xlApp.getNumberOfSheets() < i: xlApp.addSheet() for diff in self.differences: if len(diff.keys()) == 0 or diff == {}: continue row = 1 column = 1 xlApp.renameSheet("%s"%(diff[FILE_NAME]), currentSheet) if diff.has_key(NUMBER_DIFFERENCE): xlApp.setCellValue(row, column, NUMBER_DIFFERENCE) column = 2 xlApp.setCellValue(row, column, diff[NUMBER_DIFFERENCE][0]) column = 3 xlApp.setCellValue(row, column, diff[NUMBER_DIFFERENCE][1]) column = 1 row = row + 1 if diff.has_key(HEADER_DIFFERENCE): xlApp.setCellValue(row, column, HEADER_DIFFERENCE) column = 2 xlApp.setCellValue(row, column, diff[HEADER_DIFFERENCE][0]) column = 3 xlApp.setCellValue(row, column, diff[HEADER_DIFFERENCE][1]) column = 1 row = row + 1 if diff.has_key(TITLE_DIFFERENCE): xlApp.setCellValue(row, column, TITLE_DIFFERENCE) column = 2 xlApp.setCellValue(row, column, diff[TITLE_DIFFERENCE][0]) column = 3 xlApp.setCellValue(row, column, diff[TITLE_DIFFERENCE][1]) column = 1 row = row + 1 if diff.has_key(ROW_DIFFERENCE): #print "number of differences: ",len(diff[ROW_DIFFERENCE]) #print diff[ROW_DIFFERENCE] for entry in diff[ROW_DIFFERENCE]: xlApp.setCellValue(row, column, ROW_DIFFERENCE) column = 2 xlApp.setCellValue(row, column, entry[0]) column = 3 xlApp.setCellValue(row, column, entry[1]) column = 1 row = row + 1 currentSheet = currentSheet +1 xlApp.setCurrentSheet(currentSheet) i = i + 1 outputFile = self.saveFileText.get() if not outputFile: outputFile = self.default_output xlApp.saveAs(outputFile) xlApp.closeWorkbook() self.xlApp = None return