最近在使用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操作库……
展望未来统计功能