乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>iOS</em>怎样通过Objective-C解析<em>Excel<

<em>iOS</em>怎样通过Objective-C解析<em>Excel<

作者:乔山办公网日期:

返回目录:excel表格制作


问题有点笼统,确认一下,是不是A类中创建了类B的对象objB,然后想在C类中使用这个objB对象?
方法1:如果想临时使用的话
可以在类C的要使用这个对象的函数中,用(ClassB *)类型的参数,把objB作为参数传进来。
方法2:如果想在类C中经常使用
可以在类C中定义一个(ClassB *)类型的成员变量,然后提供set函数,类A的某个方法中调用这个set函数,把objB的对象set给类C。这种方式需要注意objB内存的管理。

//
//  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路径下e799bee5baa6e997aee7ad94e78988e69d83337
//  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

初学者首推华中科技大学版的《Objective-C编程》,非常好的零基础入门。 然后是图灵出版的三本水果:《Objective-C初学者指南》,《Objective-C基础教程》,嗯,两本,还有一本《精通Objective-C》未出。日本人写的《Objective-C高级编程:iOS与OS X多线程和内存管理》也很好。

// 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);

我在谷歌上搜查了半天,但我似乎无法找到通过Objective-C来读取Excel文件的方法。
我觉得唯一的可行的解决方7a64e58685e5aeb9366案是Excel先转换为CSV,然后读取一个文本文件,但我不希望出现这种情况,太麻烦。

解决方案:
最后在 StackOverFlow的问题 从这个问题中找寻的相关解决方法,用到的 libxls 库和 DHlibxls 框架。
主要是 DHlibxls ,个人认为是最底层是libxls库,而DHlibxls对libxls 进行了一次封装,使得在IOS中更好用了。
以下是相关的DHlibxls 的下载,DHlibxls这个是已经把libxls 库添加到该项目中了,可以直接点击
TestDHlibxls.xcodeproj 查看使用方法 .

相关阅读

  • <em>iOS</em>怎样通过Objective-C解析<em>Excel<

  • 乔山办公网excel表格制作
  • 问题有点笼统,确认一下,是不是A类中创建了类B的对象objB,然后想百在C类中使用这个objB对象?方法1:如果想临时使用的话可以度在类C的要使用这个对象的函数中,用(ClassB *)类型
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网