CoreXLSX получает значения из оператора do {} и передает массив другому ViewController. - PullRequest
0 голосов
/ 06 августа 2020

Я # работаю с библиотекой CoreXLSX. Я пытаюсь вернуть значение некоторых столбцов и передать эти массивы другому ViewController. Я хочу создать функцию, которая получает только значения для каждого столбца. Проблема в том, что это оператор do {}, потому что я не могу получить из него значения. Это мой код:

import Foundation import CoreXLSX

struct ImportIntegrationsliste {

func IntegrationResults() {
    
    guard let path = Bundle.main.path(
        forResource: "Integrationsliste",
        ofType: "xlsx"
        ),
        let file = XLSXFile(filepath: path) else { return }
    
    do {
        let wbk = try file.parseWorkbooks()
        
        for (name, path) in try file.parseWorksheetPathsAndNames(workbook: wbk[0]) {
            if let worksheetName = name {
                print("This worksheet has a name: \(worksheetName)")
            }
            
            let worksheet = try file.parseWorksheet(at: path)
            let sharedStrings = try file.parseSharedStrings()
            let columnAStrings = worksheet.cells(atColumns: [ColumnReference("A")!])
                .compactMap {$0.stringValue(sharedStrings)}
            let columnPStrings = worksheet.cells(atColumns: [ColumnReference("P")!])
                .compactMap {$0.stringValue(sharedStrings)}
            let columnQStrings = worksheet.cells(atColumns: [ColumnReference("Q")!])
                .compactMap {$0.stringValue(sharedStrings)}
            let columnSStrings = worksheet.cells(atColumns: [ColumnReference("S")!])
                .compactMap {$0.stringValue(sharedStrings)}
        }
    } catch {
        let text = error.localizedDescription
    }
    
    func getValue() -> [String] {
        let value = A
        return value
    }
}

}

Я хочу иметь возможность создать функцию getValue , чтобы передать только массивы, потому что сейчас приложение очень медленно реагирует. Есть идеи?

Спасибо !!!

...