扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
最近开发一个蓝牙项目,需要导出和导入EXCEL数据,由于之前没有接触这类功能,查阅了相关资料,最终选择采用libxlsxwriter库实现EXCEL文档生成、CoreXLSX实现EXCEL文档内容解析,做个简单汇总方便以后查阅,费话不多说,直接上干货。
镇安网站建设公司成都创新互联,镇安网站设计制作,有大型网站制作公司丰富经验。已为镇安近千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的镇安做网站的公司定做!
Libxlsxwriter 是一个 C 库,可用于在 Excel 2007+ XLSX 文件中写入文本、数字、公式和指向多个工作表的超链接。
具体功能介绍请跳转github的库地址连接:
1、项目地址
2、使用手册地址
因为项目是用swift开发,所以这里主要简单介绍下swift项目下如何使用:
数据格式建议采用Array的方式存储每一组的数据,方便数据写入处理
文件名称根据实际需求定义,路径只需要文件夹路径拼接文件名即可
创建表格过程如下:
1、生成一张表格
2、创建一个sheet
3、设置表格的样式、格式(包含文字格式、文字颜色、对齐方式等)
样式设置可参考使用手册里的说明,这里大概列几个供参考:
4、关闭表格创建
如果格式不对或者样式不喜欢,可以结合实际重新设置
QuickLook的框架详解请查看:
可以通过QuickLook打开EXCEL文档,同时QuickLook还集成一系列功能(保存文件、传送文件等),导出文档功能可用这个框架实现,具体如何导出请看框架详解说明即可
可以通过设置样式创建各种复杂的EXCEL表格,文档说明也非常详细,用户很容易就可以利用该框架创建满足各种需求的EXCEL表格
没有EXCEL读取功能,因此读取功能只能另外处理
至此,一个简单的EXCEL创建过程已经完成。libxlsxwriter功能十分强大, 如果要生成一个复杂的表格,请仔细研读格式设置说明文档
CoreXLSX是一个库,它专注于表示基于XML的XLSX电子表格格式的底层结构。它允许您打开扩展名为.xlsx的电子表格存档,并将其内部结构映射到直接用Swift表示的模型类型中。
需要注意的是,此库仅为.xlsx格式提供只读支持。由于旧的legacy.xls电子表格格式具有完全不同的内部结构,如果您需要使用该类型的文件,请参考其他库。
如果您的.xlsx文件使用ECMA-376敏捷加密(这似乎是最流行的一种),请查看CryptoOffice库。
项目地址:
可通过系统提供的API打开,如下:
可通过UIDocumentPickerDelegate回调方法拿到对应的文件路径, 这里需要注意一个细节 ,如下图
读取文件时需要授权,不然有的文件无法读取,会报没有权限的错误提示,读取数据完成后,需要关闭授权
采用CoreXLSX相关API去读取数据,具体可参考项目文档说明,因为项目在读取数据时需要校验文档内容是否合法,不合法需要提示用户重新选择其他文件,校验规则可根据实际需求去做,以下列举个人项目的简单校验,如下图
最终rows得到的就是每组的数据,可通过遍历获取对应的数据,如有疑问,请参考官方文档或者官方DEMO
参考文献:
libxlsxwriter开源库:
CoreXLSX开源库:
XlsxReaderWriterSwift开源库:
谢谢各位的无私奉献。。。
苹果ipad是可以做表格的,具体操作方法如下:
1、以ipad air2为例,首先ipad桌面上找到wps的图标,点击进入,如果没有的话需要下载一个。
2、然后在wps软件的界面可以看到下面一栏中有新建一项,点击进入。
3、接着找到里面的表格文档选项,点击进入。
4、然后选择里面的一个模板,以个人记账模板为例,点击进入。
5、然后就可以在表格文档中根据需要来编辑和更改了。
你做过表格页面的开发吗?
在网上看到两个实现demo,可以说是两种方式实现的。
大致就是顶部的航标题用一个TopCollectionView封装实现,底部的表格使用JContentTableView封装实现,tableViewCell里是一个collectionView,每一行有一个collectionView,稍微自己处理下数据源还是可以使用的。
大致就是自己封装了一个view,视图由LeftTableView,RightTableView,TopScrollView实现。
RightTableViewCell里是scrollView,使用的按钮实现的表格的效果。看完这个实现还是不推荐吧。
暂时只是学习了下实现,后续有啥问题更新吧~~~
表格在现在的app中相当常见了,最近回顾自己之前的一个demo的时候发现关于表格的知识忘了不少,所以还是写下来,加深记忆。
这个demo是使用storyboard构建界面的,首先我们拖一个TableViewController出来,注意,对于新手这里有个坑,这个拖出来的ViewController已经与view建立了关联--dataSource和delegate。这两个关联必不可少,因为dataSource使得ViewController作为数据源,delegate实现代理方法,Xcode默认帮我们实现了这两个协议。但是如果是普通的ViewController则需要我们手动去遵循这两个协议并在storyboard中建立连接。
接下来实现UITableViewDataSource协议中的三个方法:
这里要注意一下:iOS的表格row和cell的区别,row是表格一共的行数,如果你的表格有30行,那就有30个row,cell不一样,cell是用来显示数据的,它是一个view,它的数量是固定的,假如屏幕一次只能显示10个cell,那么cell的个数就是10,当cell和row的个数不同时,就会涉及到cell的重用。
注意:使用storyboard建立view的话还需要在storyboard中设置cell的Identifier。
今天先写到这儿。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流