在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过这个代码,但希望你明白了