在Swift中下载和处理.xls(Excel)文件
我想要构build一个Iphone应用程序,可以下载一个Excel文件并在表格中显示内容。
我想我设法下载文件,但我得到的数据是这样的:
<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文件和访问数据的正确方法是什么?
我build议你使用Alamofire来下载像AFNetworking这样的第三方库的文件。 然后您可以将默认的DocumentDirectory
下载的文件。
在这里,您可以获得框架Alamofire并将其与您的项目一起设置。
下载function就是这样,
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中
DRCollectionViewTableLayout
我也没有回答你的问题,但如果你只是在你的Excel文件中使用纯文本,请考虑将文本保存为纯文本CSV(逗号分隔)或制表符分隔的文本文件。 纯文本在iOS中很容易parsing,而且由于没有用于编码/解码excel文件的SDK,所以我知道你可能不想继续下去。 Excel是一种专有格式。
一旦你已经下载了纯文本,你会分裂返回字符,然后你会分开选项卡(或逗号)以获得一个MXN数组文本。 例如,像这样的东西:
let allRows = text.split {$0 == "\n"} for row in allRows { allColumns = row.split {$0 == "\t"} //if your text file is tab delimited //.. do something with your columns for this row .. }
我没有testing过这个代码,但希望你明白了