IOS 通过Objective-C读取、解析Excel

显示Excel我就不介绍了,大多人都知道使用UIWebView控件即可,所以直接上代码

//

//  ViewController.m

//  PRJ_excelDemo

//

//  Created by wangzhipeng on 13-4-12.

//  Copyright (c) 2013年 com.comsoft. All rights reserved.

//



#import "ViewController.h"



@interface ViewController ()



@property (strong, nonatomic) IBOutlet UIWebView *pWV_main;



@end



@implementation ViewController



- (void)viewDidLoad

{

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    [_pWV_main setClipsToBounds:YES];

    [_pWV_main setScalesPageToFit:YES];

    //Document路径下

//  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

//  NSString *documentsDirectory = [paths objectAtIndex:0];

    //项目路径下

    NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"wangzhipeng.xlsx"];

    NSURL *url = [NSURL fileURLWithPath:path];

    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    [_pWV_main loadRequest:request];

}



- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}



@end

 

问题是我目前开发的项目需求是获取.xlsx中的内容

于是我想起来了,UIWebView能加载说明它获取到了.xlsx内容,我就想通过JS来获取UIWebView的内容

NSString *pStr_js = @"document.documentElement.innerHTML";

NSString *pStr_html = [_pWV_main stringByEvaluatingJavaScriptFromString:pStr_js];

    

NSLog(@"%@", pStr_html);

结果竟然是:

2013-04-12 16:59:01.418 PRJ_excelDemo[4195:11303] <head></head><body></body>

好吧,我傻了...

我在谷歌上搜查了半天,但我似乎无法找到通过Objective-C来读取Excel文件的方法。

我觉得唯一的可行的解决方案是Excel先转换为CSV,然后读取一个文本文件,但我不希望出现这种情况,太麻烦。

 

解决方案:

最后在 StackOverFlow的问题 从这个问题中找寻的相关解决方法,用到的 libxls 库和 DHlibxls 框架。

主要是 DHlibxls ,个人认为是最底层是libxls库,而DHlibxls对libxls 进行了一次封装,使得在IOS中更好用了。

以下是相关的DHlibxls 的下载,DHlibxls这个是已经把libxls 库添加到该项目中了,可以直接点击

TestDHlibxls.xcodeproj 查看使用方法 .

源码下载地址:http://ishare.iask.sina.com.cn/f/36736718.html

 

你可能感兴趣的:(Objective-C)