【问题标题】:Swift Can't Find xlsx path returns nilSwift 找不到 xlsx 路径返回 nil
【发布时间】:2018-07-08 19:45:32
【问题描述】:

我正在创建一个简单的调查移动应用程序来学习如何使用 excel 作为入门数据库。我在 xlsxreaderwriter 上关注了 GitHub 项目,在完成每个步骤后构建了项目,并且成功。

现在我在我的 Viewcontroller 中试图让我的 Xcode 项目向我显示我在控制台中建议的单元格,但系统返回一个错误说明:“线程 1:致命错误:在展开时意外发现 nil可选值”

我的代码如下:

//
//  ViewController.swift
//  xlsxreaderwriter
//
//  Created by Ahmeeya Goldman on 1/29/18.
//  Copyright © 2018 Ahmeeya Goldman. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        //Set the path to the path of the excel file you are accessing

        let path: String = Bundle.main.path(forResource: "DatabaseV1", ofType: "xlsx")!


        //Open the spreadsheet, get get the first worksheet, and select cell B5

        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: "B5")

        // Print some info to show the code works
        print(sheet.name) // print "sheet1"
        print(cell.stringValue()) // print 0
        print("Test Worked, Excel Launch Didn't")
    }
}

【问题讨论】:

  • 哪一行导致错误?
  • 您好,感谢您的回复。以下代码导致错误: let path: String = Bundle.main.path(forResource: "DatabaseV1", ofType: "xlsx")!
  • 那么您的 xlsx 文件不在您的应用程序包中。确保将其添加到您的项目中并正确定位。

标签: swift database excel null


【解决方案1】:

我遇到了同样的问题。

我的文件位于“下载”文件夹中,然后我将文件拖放到我的项目中。在弹出的窗口中,我点击“完成”,但 PRINT 功能给了我们一个空路径(这可以在右下方的屏幕截图中看到)。 First screen

好吧,为什么?这是因为项目添加了指向文件的链接,而不是文件本身。

当您将文件拖放到项目中时,您需要在打开的窗口中勾选项目的“添加到目标”项。这可以从second screen 看出。右下角可以看到文件的路径已经定义好了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多