前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >swift的UnsafePointer之写Excel

swift的UnsafePointer之写Excel

作者头像
大话swift
发布2019-07-04 11:20:22
6670
发布2019-07-04 11:20:22
举报
文章被收录于专栏:大话swift

最近在使用swift结合xpath协议写了一些小东西来爬取数据,比如之前使用爬虫+swift+cocoa写的一个建议的视频macOS App,但是这些都是基本的数据展示而最近想对数据进行一些表格统计,那么Excel是必不可少的,但是呢?很少有swift或者Objective-C操作Excel的案例,于是周末花时间各钟Baidu Google终于找到了一C框架写的建议创建操作Excel的框架。好了下面我们看看成功,等慢慢处理完整之后会慢慢开源到Gihub上,到时欢迎大家star pr……

首先我们看看结构

ConverBridge是swift与C的转接桥梁,因为我们是modulemap方式引入的C框架因此这个不能少

WorkBook这个是我们的主角,用于Excel的创建关闭,添加数据等

WorkFormat是格式处理类,Excel中文本的加粗对齐等格式由此控制

WorkDatetime比较特殊,是专门处理添加日期而创立的

BookWork+Sheet 创建表达

BookWork+Write 负责数据的写入

BookWork+Error 列举的是常见的几种错误

下面我们看看怎么使用

1 创建Excel

代码语言:javascript
复制
  let workBook = try  WorkBook.init(fullPath: path)

2 增加sheet页

代码语言:javascript
复制
if    workBook?.add(sheet: "Sheet1") ?? true {
              _ =  workBook?.select(byName: "Sheet1")
            }

3 简单的数据格式写入

代码语言:javascript
复制
workBook?.write(value: WorkBookValue.string("341235如图如果房顶上"), atRow: 0, atCol: 0, format: { (format:WorkFormat) -> Void in
                format.toBlod()
            })
   _ =  workBook?.write(value: WorkBookValue.string("234"), atRow: 1, atCol: 0, format: { (format:WorkFormat) -> Void in
                format.toBlod()
            })

4 创建并选取新的sheet

代码语言:javascript
复制
            let name = "ddd"
            if workBook?.isSheetExist(forName: name) == false {
             let result =    workBook?.add(sheet: name)
                if result == true {
                    if true  ==   workBook?.select(byName: name) {
                        workBook?.write(value: WorkBookValue.string(name))
                    }
                    
                }
            }

最后我们预览一下效果:

虽然还不是十分完善但是雏形已出,候选有待完善,比如进行数据的柱状,折线图统计是必不可少的,希望大家多多给予支持让后续能够完成一个丰满的swift Excel操作库……

展望未来统计功能

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大话swift 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档