在工程里生成一个excel表格或者word文件

http://aobdo.com/2015/08/27/导出tableView数据至excel/?plg_nld=1&plg_uin=1&plg_auth=1&plg_nld=1&plg_usr=1&plg_vkey=1&plg_dev=1

1.现在开始进入正题,要先下载微软的excel库文件http://www.libxl.com/download.html,解压

2.里面有example,可以参考一下、把LibXL.framework导入自己的项目当中,设置bitcode为no,以及linker也要改为-lstdc++

3.上代码,导入头文件,设置代理

1
#include "LibXL/libxl.h"
1
@interface JGdetailController ()<UITableViewDataSource,UITableViewDelegate,JGPeopleViewDelegate,UIDocumentInteractionControllerDelegate>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
-(void)clickBarButton{  
    NSLog(@"createExcel");

BookHandle book = xlCreateBook(); // use xlCreateXMLBook() for working with xlsx files

SheetHandle sheet = xlBookAddSheet(book, "Sheet1", NULL);  
    //第一个参数代表插入哪个表,第二个是第几行(默认从0开始),第三个是第几列(默认从0开始)  
    xlSheetWriteStr(sheet, 1, 0, "姓名", 0);  
    xlSheetWriteStr(sheet, 1, 1, "性别", 0);  
    xlSheetWriteStr(sheet, 1, 2, "学校", 0);  
    xlSheetWriteStr(sheet, 1, 3, "电话", 0);

for (int i = 0; i < self.nameArray.count; i++) {  
        const charchar *name_c = [self.nameArray[i] cStringUsingEncoding:NSUTF8StringEncoding];  //这里是将NSString字符串转为C语言字符串  
        xlSheetWriteStr(sheet, i+2, 0,name_c, 0);

}  
    for (int i = 0; i < self.sexArray.count; i++) {  
        const charchar *sex_c = [self.sexArray[i] cStringUsingEncoding:NSUTF8StringEncoding];  
        xlSheetWriteStr(sheet, i+2, 1,sex_c, 0);

}  
    for (int i = 0; i < self.schoolArray.count; i++) {  
        const charchar *school_c = [self.schoolArray[i] cStringUsingEncoding:NSUTF8StringEncoding];  
        xlSheetWriteStr(sheet, i+2, 2,school_c, 0);

}  
    for (int i = 0; i < self.phoneArray.count; i++) {  
        const charchar *phone_c = [self.phoneArray[i] cStringUsingEncoding:NSUTF8StringEncoding];  
        xlSheetWriteStr(sheet, i+2, 3,phone_c, 0);

}

NSString *documentPath =  
    [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];  
    NSString *filename = [documentPath stringByAppendingPathComponent:@"out.xls"];  
    NSLog(@"filepath--%@",filename);

xlBookSave(book, [filename UTF8String]);

xlBookRelease(book);

//导出xls文件  
    UIDocumentInteractionController *docu = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:filename]];

docu.delegate = self;  
    CGRect rect = CGRectMake(0, 0, 320, 300);  //这里感觉没什么用

[docu presentOpenInMenuFromRect:rect inView:self.view animated:YES];  //不写可以直接预览

[docu presentPreviewAnimated:YES];  //这句比较坑爹。如果不写这句,只写上面那句会弹出选择支持xls文件的APP。

}
1
2
3
4
5
6
//doucumentDelegate方法(必须实现,还有几个展示选择系统自带print还是啥的就不说了,可以自己研究下)  
- ( UIViewController *)documentInteractionControllerViewControllerForPreview:( UIDocumentInteractionController *)interactionController{

return self;

}
4.把模型tableView里面的数据取出来放在数组里:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
self.nameArray = [NSMutableArray array];
self.sexArray = [NSMutableArray array];
self.schoolArray = [NSMutableArray array];
self.phoneArray = [NSMutableArray array];
for (JGdetail *de in self.people) {
    [self.nameArray addObject:de.name];
    if(de.sex == 0){
        [self.sexArray addObject:@"男"];
    }else if(de.sex == 1){
        [self.sexArray addObject:@"女"];
    }
     [self.schoolArray addObject:de.school];
     [self.phoneArray addObject:de.tel];
}
NSLog(@"nameArray---%@",self.sexArray);
5.这样就可以选择QQ打开生成的xls文件。效果如下,因为这个是要收费的,所以忽略第一行:

时间: 2024-10-14 03:49:26

在工程里生成一个excel表格或者word文件的相关文章

如何在CAD图纸中插入一个Excel表格?

大家都知道在CAD设计建筑行业经常要使用到CAD绘图技巧,在日常的工作中,我们经常使用CAD编辑器软件对CAD图纸进行一些编辑,但是如果我们想要在CAD图纸中插入一个Excel表格应该具体怎么操作呢?又如何在CAD图纸中插入一个Excel表格?所以本篇教程就教教大家怎么使用迅捷CAD编辑器在CAD图纸中插入一个Excel表格,希望可以帮助到你们. 第一步:首先打开电脑,在电脑桌面上任意的打开一个浏览器,在浏览器的搜索框中搜索迅捷CAD编辑器,点击下载安装最新版本的CAD编辑器. 第二步:双击打开

使用NPOI将数据库里信息导出Excel表格并提示用户下载

使用NPOI进行导出Excel表格大家基本都会,我在网上却很少找到导出Excel表格并提示下载的 简单的代码如下 1 //mvc项目可以传多个id以逗号相隔的字符串 2 public ActionResult execl(string ids) 3 { 4 List<PayLog> list = new List<PayLog>(); 5 string[] idsstring = ids.Split(new char[] { ',' }, StringSplitOptions.Re

NPOI读写Excel表格、Word文档

NPOI是从POI移植过来的.NET版本,专门对Word.Excel进行读写操作的一个开源项目 下面就试着怎么用我们的C#来进行读写操作,我现在用的Office版本是2016 我们首先通过Nuget把NPOI引入到我们的项目中 1.读取Excel表格 using(FileStream fs=new FileStream(@"C:\Users\BIDIANQING\Desktop\1.xlsx", FileMode.Open,FileAccess.Read)) { XSSFWorkboo

node.js 操作excel 表格与XML文件常用的npm

在日常工作中会经常用到把一些excel表格文件转化为json,xml,js等格式的文件,下面就是我在日常中用到的这些npm. 1.node-xlsx: node-xlsx可以把excel文件转化为上面说所的几种文件格式,常用方式可以查看github的源码与实例:node-xlsx 在操作文件中直接引用 var xlsx = require("node-xlsx"); 读取excel var list = xlsx.parse("./excel/" + excelNa

写给孩子的第一个程序:生成一个TXT口算题文件

学习中Python,孩子嚷嚷说让我给出口算题,于是写了一个生成口算题的程序,我自己觉得很简陋,盼大神们给修改,您的任何建议都是对我最大的鼓励! #!/usr/bin/env python from operator import add,sub,imulfrom random import randint,choice,uniformimport osops={'+':add,'-':sub,'*':imul} def FloatToInt(numList):           ‘把小数为零的

在phpWeChat里生成一个临时二维码(非微信二维码)

phpWeChat作为支持Pc+H5开发的管理系统,内置一套二维码生成API,访问地址: 您的域名/api/qrcode/index.php?data=二维码数据 以下为使用示例 使用时有一点需要注意:二维码数据需要用PHP的urlencode()函数处理下再赋给data参数. 1.生成文本二维码 只需访问地址: 您的域名/api/qrcode/index.php?data=二维码文本数据 即可. 2.生成URL二维码(扫码直接跳转) 只需访问地址: 您的域名/api/qrcode/index.

数据导出excel表格和Word文档

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text; using System.IO; public partial class Default1 : System.Web.UI.Page { DataClassesDataContext

将后缀名为DAT的数据文件转换为EXCEL表格形式的文件

http://zhidao.baidu.com/question/1510184081689426540.html Excel自身的数据转换方法,高效简洁.

利用json生成excel表格

起因: 之前利用反射生成excel导出,这个组件本来挺好用的,结果,坑爹的本地研发没有问题,生产环境却有问题.不知道什么原因直接导致服务重启,还重新加载类,直接导致jvm的永久区内存溢出. 异常: java.lang.OutOfMemoryError: PermGen space 说明: Perm空间被占满.无法为新的class分配存储空间而引发的异常.这个异常以前是没有的,但是在Java反射大量使用的今天这个异常比较常见了.主要原因就是大量动态反射生成的类不断被加载,最终导致Perm区被占满.