美文网首页
iOS生成Excel表格

iOS生成Excel表格

作者: fanren | 来源:发表于2023-11-03 10:24 被阅读0次

前言

在开发中,经常会遇到将数据导出(Excel表格)的需求;
一般情况下,都是由服务器生成Excel表格,iOS通过下载表格并保存到本地的方式;
但是我们也会遇到特殊情况,需要我们根据服务端返回的数据来生成Excel表格;
这个时候,就用到了本节内容,如果生成一个Excel表格
我们使用了一个第三方库:libxlsxwriter

一、导入第三方库

我使用cocopods来导入库libxlsxwriter

二、使用libxlsxwriter

1. 创建并打开一个Excel表格对象

// excel表格文件的本地路径
NSString *filename = [self localPath];
// 创建一个excel表格对象
lxw_workbook *workbook = workbook_new([filename UTF8String]);

- (NSString *)localPath
{
    NSString *documentDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *xlsxName = @"test.xlsx";
    NSString *filename =[documentDirectory stringByAppendingPathComponent:xlsxName];
    NSLog(@"------%@", filename);
    return filename;
}

在定义的路径下,可看到生成的excel文件

2. 关闭Excel对象

int resut = workbook_close(workbook);
if(resut != 0){
    NSLog(@"falied");
}

在打开一个Excel对象后,在最后一定要调用关闭方法,关闭该对象;

3.在Excel中创建一个Sheet

NSString *sheetName = @"人员";
lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetName.UTF8String);

4.表格中添加内容

// 样式对象
lxw_format *titleFormat = [self titleFormat:workbook];
// 在表格中填入字符串
// 在第0行第1列中,写入字符串"名称"
worksheet_write_string(worksheet, 0, 1, "名称", titleFormat);

表格中,既可以添加字符串,也可添加数字等其他类型数据,都有其对应的方法,例如worksheet_write_number

5. 创建表格样式

在表格中写入内容的时候,需要传入表格的样式对象

// 创建表格样式
lxw_format *columnTitleformat = workbook_add_format(workbook);
// 内容垂直居中
format_set_align(columnTitleformat, LXW_ALIGN_VERTICAL_CENTER);
// 内容水平居中
format_set_align(columnTitleformat, LXW_ALIGN_CENTER);
// 设置字体加粗
format_set_bold(columnTitleformat);
// 设置背景颜色
format_set_bg_color(columnTitleformat, 0xCFDAF2);
// 设置边框
format_set_border(columnTitleformat, 1);

6. 合并单元格

// 合并单元格,合并第1行第1列到第3行第3列的单元格,并写入内容合并
worksheet_merge_range(worksheet, 1, 1, 3, 3, [@"合并" UTF8String], titleFormat);
image.png

7. 固定某一行或某一列

// 固定单元格第一行第一列
worksheet_freeze_panes(worksheet, 1, 1);
image.png

8. 设置列宽

// 设置第0列到第5列的宽度为10
worksheet_set_column(worksheet, 0, 5, 20, NULL);
image.png

相关文章

网友评论

      本文标题:iOS生成Excel表格

      本文链接:https://www.haomeiwen.com/subject/krhoidtx.html