Swift - Как открыть приложение Excel с файлом Excel в рамках проекта?(Не удается открыть файл Ошибка) - PullRequest
0 голосов
/ 18 мая 2018

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

Поэтому я планирую использовать кнопку для открытия Excel, используя файл ресурсов Excel, который есть в моем проекте.

Я использую этот модуль для записи в файл Excel

https://cocoapods.org/pods/XlsxReaderWriter

Я следовал этому руководству, и все, кажется, работает нормально.

https://github.com/joelparkerhenderson/demo_swift_excel_xlsx_reader_writer

Я полагаю, что проблема заключается в строках кода, которые открывают файл Excel

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        if indexPath.section == 3
        {
            if indexPath.row == 0
            {
                let path: String = Bundle.main.path(forResource: "AmortizationTable", ofType: "xlsx")!
                let urlString: String = "ofe|u|" + path
                let encodedString = urlString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
                let encodedURLString = "ms-excel:" + encodedString! //+ "|n|AmortizationTable.xlsx|a|App"

                if let url = URL(string: encodedURLString), UIApplication.shared.canOpenURL(url) {
                    UIApplication.shared.openURL(url)
                } else if let itunesUrl = NSURL(string: "https://itunes.apple.com/us/app/microsoft-excel/id586683407?mt=8&uo=4"), UIApplication.shared.canOpenURL(itunesUrl as URL) {
                    UIApplication.shared.openURL(itunesUrl as URL)
                }
            }
        }
    }

У меня также есть эта функция, которая вызывается при вычислениях пользователя.Он работает нормально, но я подумал, что должен добавить его.

func createExcel() {
        // Set the path to the path of wherever you put your Excel file.
        // The path in this demo code is the path to the demo.xlsx file.
        let path: String = Bundle.main.path(forResource: "AmortizationTable", ofType: "xlsx")!

        // Open the spreadsheet, get the first sheet, first worksheet, and first cell A1.
        // This is solely demo code to show basics; your actual code would do much more here.
        let spreadsheet: BRAOfficeDocumentPackage = BRAOfficeDocumentPackage.open(path)
        let sheet: BRASheet = spreadsheet.workbook.sheets[0] as! BRASheet
        let worksheet: BRAWorksheet = spreadsheet.workbook.worksheets[0] as! BRAWorksheet
        let cell: BRACell = worksheet.cell(forCellReference: "A1")
        cell.value = "It's working!"
        spreadsheet.save()
        // Print some info to show the code works.
        print(cell.value) // print "It's working"
        print(cell.stringValue()) // print "Alpha"
    } 

Когда я нажму кнопку, он перейдет в приложение Excel, и я получу эту ошибку:

Excel Error

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...