我想构建一个可以下载Excel文件并在表格中显示内容的Iphone应用程序。
我想我设法下载了该文件,但我得到的数据如下:
<d0cf11e0 a1b11ae1 00000000 00000000 00000000 00000000 3e000300 feff0900 06000000 00000000 00000000 01000000 45000000 00000000 00100000 feffffff 00000000 feffffff 00000000 44000000 ffffffff ffffffff ffffffff ffffffff ........ >
这是下载代码:
let url = NSURL(string: "https://s3-eu-west-1.amazonaws.com/schooly/handasaim/news/f_1312015203355628490.xls")
let urlRequest = NSURLRequest(URL: url!)
NSURLConnection.sendAsynchronousRequest(urlRequest, queue: NSOperationQueue.mainQueue(), completionHandler: {
response, data, error in
if error != nil {
println("There was an error")
} else {
println(data)
}
})
如果下载代码正确,我如何解码数据并访问它?
如果错误,下载Excel文件和访问数据的正确方法是什么?
答案 0 :(得分:0)
我建议您使用Alamofire下载文件,这是第三方库,如AFNetworking。然后,您可以将下载的文件保留为默认DocumentDirectory
。
在这里,您可以获得框架Alamofire并将其与项目一起设置。
下载功能就是这样,
let destination = Alamofire.Request.suggestedDownloadDestination(directory: .DocumentDirectory, domain: .UserDomainMask)
Alamofire.download(.GET, "https://s3-eu-west-1.amazonaws.com/schooly/handasaim/news/f_1312015203355628490.xls", destination)
然后你得到了困难的部分。尝试这些。但是在Objective-C
中答案 1 :(得分:0)
答案 2 :(得分:0)
下载文件后,您可以使用CoreXLSX 库对其进行解析。该库可以与CocoaPods或Swift Package Manager集成。之后,您可以像这样使用它:
import CoreXLSX
guard let file = XLSXFile(filepath: "./file.xlsx") else {
fatalError("XLSX file corrupted or does not exist")
}
for path in try file.parseWorksheetPaths() {
let ws = try file.parseWorksheet(at: path)
for row in ws.sheetData.rows {
for c in row.cells {
print(c)
}
}
}
这将打印给定Excel文件中的每个单元格,但是如果需要,您还可以按其引用过滤单元格和列。