def doExport(self): reader = KSpread.reader() reader.setSheets( self.sheetslistview.sheets() ) #if len(reader.sheetNames()) == 0: #raise "No sheet to export selected" csvfilename = self.savewidget.selectedFile() if not csvfilename: raise Exception, T.i18n("No CSV file chosen") if os.path.splitext(csvfilename)[1] == '': csvfilename += '.csv' csv.register_dialect("custom", self.getCustomDialect()) csvfile = open(csvfilename,'w') csvwriter = csv.writer(csvfile, dialect="custom") def changedSheet(sheetname): print "changedSheet sheetname=%s" % sheetname #csvfile.write("# %s\n" % sheetname) def changedRow(row): values = reader.currentValues() #print "changedRow row=%i values=%s" % (row,values) csvwriter.writerow(values) reader.connect("changedSheet(QString)",changedSheet) reader.connect("changedRow(int)",changedRow) reader.start() csvfile.close()
def start(self): reader = KSpread.reader() connection = self.showExportDialog(reader) if not connection: return try: print "databaseNames = %s" % connection.databaseNames() print "tableNames = %s" % connection.tableNames() tableschema = self.showTableDialog(connection) if not tableschema: return fieldlist = tableschema.fieldlist() print "tableschema.name() = %s" % tableschema.name() print "tableschema.caption() = %s" % tableschema.caption() print "tableschema.description() = %s" % tableschema.description() print "fieldlist.names() = %s" % fieldlist.names() def changedSheet(sheetname): print "changedSheet sheetname=%s" % sheetname def changedRow(row): values = reader.currentValues() #values = [ "%s" % v for v in reader.currentValues() ] print "changedRow row=%i values=%s" % (row, values) if connection.insertRecord(fieldlist, values): pass else: print "=> insert failed: %s" % connection.lastError() reader.connect("changedSheet(QString)", changedSheet) reader.connect("changedRow(int)", changedRow) reader.start() finally: connection.disconnect()
def start(self): reader = KSpread.reader() connection = self.showExportDialog(reader) if not connection: return try: print "databaseNames = %s" % connection.databaseNames() print "tableNames = %s" % connection.tableNames() tableschema = self.showTableDialog(connection) if not tableschema: return fieldlist = tableschema.fieldlist() print "tableschema.name() = %s" % tableschema.name() print "tableschema.caption() = %s" % tableschema.caption() print "tableschema.description() = %s" % tableschema.description() print "fieldlist.names() = %s" % fieldlist.names() def changedSheet(sheetname): print "changedSheet sheetname=%s" % sheetname def changedRow(row): values = reader.currentValues() #values = [ "%s" % v for v in reader.currentValues() ] print "changedRow row=%i values=%s" % (row,values) if connection.insertRecord(fieldlist, values): pass else: print "=> insert failed: %s" % connection.lastError() reader.connect("changedSheet(QString)",changedSheet) reader.connect("changedRow(int)",changedRow) reader.start() finally: connection.disconnect()