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

来源:互联网 发布:三菱编程软件gx works2 编辑:程序博客网 时间:2024/06/05 19:53

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

0 0