2016-07-15 24 views
0

Ich möchte die Ergebnisse einer Regex-Suche auf einer bestimmten Sheeet als eine Spalte auf einem anderen Blatt angezeigt werden. es wäre nicht zu schwer, sagen wir, bedingte Hervorhebung oder etwas, nur um zu sehen, wo die Ergebnisse sind, aber was ich wirklich brauche (für meine perfekte GTD-Tabelle) ist die Fähigkeit, automatisch generierte Spalten, z. alle Zellen, die z.B. das Tag @home oder #projectname. In einem früheren Leben würde ich Access öffnen für diese (die eine Sache, die von Microsoft gemacht wird, die nie ganz suck!), Aber mit LibreOffice Base ist im Grunde ein langer Absturz und plus die UX von Tabellenkalkulation ist angenehm flexibel. Vorschläge willkommen. Ich bin Linux-nur atm.Eine Liste der Übereinstimmungen in einem Bereich als Spalte zurückgeben

Antwort

0

Libreoffice Base-Verwendung ist im Grunde eine lange Crash

Haben Sie versucht, Basis mit einem geteilten Datenbank-Setup wie MySQL? Das Ausführen von eingebetteter HSQLDB ist not recommended.

Wie dem auch sei hier einige Python-Code, der tut, was Sie wollen:

def calc_regex_to_column(): 
    desktop = XSCRIPTCONTEXT.getDesktop() 
    model = desktop.getCurrentComponent() 
    sheet_src = model.getSheets().getByIndex(0) 
    sheet_dst = model.getSheets().getByIndex(1) 
    search = sheet_src.createSearchDescriptor() 
    search.SearchString = r".*@home|#projectname.*" 
    search.SearchCaseSensitive = True 
    search.SearchRegularExpression = True 
    selsFound = sheet_src.findAll(search) 
    sheet_dst_row = 0 
    for selIndex in range(0, selsFound.getCount()): 
     string_found = selsFound.getByIndex(selIndex).getString() 
     COLUMN_A = 0 
     cell = sheet_dst.getCellByPosition(COLUMN_A, sheet_dst_row) 
     cell.setString(string_found) 
     sheet_dst_row += 1 

g_exportedScripts = calc_regex_to_column, 

Siehe here für wo das Skript zu setzen.