在Swift中下载和处理.xls(Excel)文件

rryofs0p  于 2022-12-22  发布在  Swift
关注(0)|答案(2)|浏览(443)

我想构建一个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文件并访问数据的正确方法是什么?

kcugc4gi

kcugc4gi1#

我建议您使用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中
DRCollectionViewTableLayout

yfjy0ee7

yfjy0ee72#

我也不是在回答你的问题,但是如果你只是在你的excel文件中使用纯文本,考虑将你的文本保存为纯文本CSV(逗号分隔)或制表符分隔的文本文件。纯文本在iOS中很容易解析,因为我知道没有用于编码/解码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 ..
}

我还没有测试过这段代码,但希望您能理解

相关问题