谁用过好用的Excel服务器软件,在线等求推荐啊?

如今毕业快两年了,工作上也算是有些经验了。不过随着工作的深入,我慢慢发现自己一个缺点,那就是工作效率不行。

有时看似工作量不大的内容,但我就是花费的时间很长,白白浪费一整天。直到后来无意间发现飞项这个软件,从此让我和我的小组织的工作效率大幅度提升了上去。(我还是个小组长,还要管理几个人的小团队,要是没有这个软件,没有个好的管理办法,我能顾好自己就不错了。。。。)

先来说一下这个软件的操作,不得不说,飞项真是一个上手十分简单的软件,创建项目简单快捷,一步就能轻松到位。如果你不知道项目该如何创建,没关系,跟着我的介绍来就行。

先创建一个项目,根据项目的情况添加项目的名称,项目背景,目标时间。

创建了项目后,接着去创建事项,也就是在项目中进行拆分,分成几个部分就继续在项目里添加几个事项,十分有利于我们拆解目标,按计划去执行,以此保证项目的开展。

也可以使用导入,比如之前没有完成的事项,本来安排到以后又改安排的事项,每个月都要重复的事项,都可以省去创建,直接导入过来。

事项还能拆分成子事项,这样便可以把复杂的工作再次细化,从而达到复杂事情,简单清晰处理的效果。

既然是项目,那么肯定是要一个团队来完成的,创建好整个项目后,就可以邀请成员参与了,在飞项,除了可以直接邀请飞项协作人,还能够通过微信直接派发任务,就算是外部人员也能轻松了解项目信息。

每个事项/子事项都可以单独邀请成员,自动分组,谁是干啥的一目了然。分工明确,工作效率也会提高。

除此之外,飞项里面还有专属IM帮助实现成员交流。具体来说就是拉进同一个项目或者事项/子事项中的领导或员工,会自动有一个小组。每个小组单独分开,互不干扰,届时工作过程中,大家可以在里面进行沟通。

文件也可以直接在飞项传递,哪个分组的就是哪个事项的相关文件,不会像其他沟通软件,过三四天就清理掉,用飞项以后找起来很方便。

当然如果工作的时候需要开会,也可以直接在飞项的IM上进行通知,预约时间和地点,用起来简直不要太方便。

除了可以进行沟通和开会通知,大家还可以在上面看到身边同事的工作安排,这样也可以更好的在合理时间内将工作内容分发下去。

好了,以上就是我的自用分享了,希望对你有帮助,飞项是个免费无广告的软件,个人挺推荐大家下载的,也是自己用了觉得真的好用,才来回答这个问题的。

免费在线流程图思维导图

专业强大的作图工具,支持多人实时在线协作,可用于原型图、UML、BPMN、网络拓扑图等多种图形绘制

兼容思维导图主流操作,键控灵活,体验流畅。

提供多种预置主题风格,也可以自由设计你喜爱的风格样式。

支持导入导出Visio、POS、高清图片、PDF等多种格式文件。

复杂逻辑,简单绘图,快速排版,高效易用。

多人绘制,多端同步,实时存储,历史版本可回溯,文件安全有保障。

思维导图、思维笔记灵活切换,自由定义工作方式。

思维笔记可自由插入、同步编辑流程图、思维导图文件。

支持原型图、UML、BPMN、网络拓扑图等多种专业图形绘制。

兼容思维导图主流操作,键控灵活,体验流畅。

提供多种预置主题风格,也可以自由设计你喜爱的风格样式。

支持导入导出Visio、POS、高清图片、PDF等多种格式文件。

复杂逻辑,简单绘图,快速排版,高效易用。

多人绘制,多端同步,实时存储,历史版本可回溯,文件安全有保障。

思维导图、思维笔记灵活切换,自由定义工作方式。

思维笔记可自由插入、同步编辑流程图、思维导图文件。

支持原型图、UML、BPMN、网络拓扑图等多种专业图形绘制。

兼容思维导图主流操作,键控灵活,体验流畅。

团队成员共创,打造团队知识地图,实现数字化资产沉淀,让团队协作更高效、数据更安全。

百万创作者、数亿模板,激发灵感,提升效率。发布模板还能将知识变现,传递价值。

一图胜千言,ProcessOn专注并持续创造新的表达方式,将远古文明与现代科技结合,致力于高效学习和工作,做用户最喜爱的产品和价值的连接者。

提升用户的工作效率,促进生产力工具的进化,是让人快乐的事情,ProcessOn会继续探索并享受这种乐趣。

思维创造工具,高效创造价值,一图胜过千言。愿未来不忘初心,与WPS继续携手前行!

因思维导图和ProcessOn结缘,思维导图创始人东尼·博赞教授期待通过科学的方法改变更多人的思考模式和工作效率,ProcessOn也一直致力于此,这是我们的共同使命!

【2021世界思维导图锦标赛组委会执行主席】

ProcessOn突破性的解决了创意工作中随时随地快速表达的需求,广受产品经理好评,希望ProcessOn越办越好,帮助到更多的团队。

ProcessOn是产品经理喜欢、常用的工具之一。在用户群里有很多人推荐ProcessOn,我也是资深用户。它让产品经理的工作变得更高效便捷,这样大家才能花更多时间去思考产品本身。

得七相五公、拥七步高才、渡七泽三江、助七十二行,用ProcessOn,绘就一种向上的力量。

我们已将验证码发送至尾号为 [ ] 的手机号,请输入验证码以继续,享受创作不设限。

简介: 操作Excel实现导入导出是个非常常见的需求,之前介绍了一款非常好用的工具EasyPoi。有读者提出在数据量大的情况下,EasyPoi占用内存大,性能不够好。今天给大家推荐一款性能更好的Excel导入导出工具EasyExcel,希望对大家有所帮助!

操作Excel实现导入导出是个非常常见的需求,之前介绍了一款非常好用的工具EasyPoi。有读者提出在数据量大的情况下,EasyPoi占用内存大,性能不够好。今天给大家推荐一款性能更好的Excel导入导出工具EasyExcel,希望对大家有所帮助!

EasyExcel是一款阿里开源的Excel导入导出工具,具有处理快速、占用内存小、使用方便的特点,在Github上已有22k+Star,可见其非常流行。

EasyExcel和EasyPoi的使用非常类似,都是通过注解来控制导入导出。接下来我们以会员信息和订单信息的导入导出为例,分别实现下简单的单表导出和具有一对多关系的复杂导出。

我们以会员信息的导出为例,来体验下EasyExcel的导出功能。

  • 首先创建一个会员对象Member,封装会员信息,这里使用了EasyExcel的注解;
  • 上面代码使用到了EasyExcel的核心注解,我们分别来了解下:
  • @ExcelProperty:核心注解,value属性可用来设置表头名称,converter属性可以用来设置类型转换器;
  • 在EasyExcel中,如果你想实现枚举类型到字符串的转换(比如gender属性中,0->男,1->女),需要自定义转换器,下面为自定义的GenderConverter代码实现;
  • 接下来我们在Controller中添加一个接口,用于导出会员列表到Excel,还需给响应头设置下载excel的属性,具体代码如下;
* 设置excel下载响应头属性
  • 运行项目,通过Swagger测试接口,注意在Swagger中访问接口无法直接下载,需要点击返回结果中的下载按钮才行,访问地址:
  • 下载完成后,查看下文件,一个标准的Excel文件已经被导出了。

接下来我们以会员信息的导入为例,来体验下EasyExcel的导入功能。

  • 在Controller中添加会员信息导入的接口,这里需要注意的是使用@RequestPart注解修饰文件上传参数,否则在Swagger中就没法显示上传按钮了;
  • 然后在Swagger中测试接口,选择之前导出的Excel文件即可,导入成功后会返回解析到的数据。

当然EasyExcel也可以实现更加复杂的导出,比如导出一个嵌套了商品信息的订单列表,下面我们来实现下!

之前我们使用过EasyPoi实现该功能,由于EasyPoi本来就支持嵌套对象的导出,直接使用内置的@ExcelCollection注解即可实现,非常方便也符合面向对象的思想。

由于EasyExcel本身并不支持这种一对多的信息导出,所以我们得自行实现下,这里分享一个我平时常用的快速查找解决方案的办法。

我们可以直接从开源项目的issues里面去搜索,比如搜索下一对多,会直接找到有无一对多导出比较优雅的方案这个issue。

从此issue的回复我们可以发现,项目维护者建议创建自定义合并策略来实现,有位回复的老哥已经给出了实现代码,接下来我们就用这个方案来实现下。

为什么自定义单元格合并策略能实现一对多的列表信息的导出呢?首先我们来看下将嵌套数据平铺,不进行合并导出的Excel。

看完之后我们很容易理解解决思路,只要把订单ID相同的列中需要合并的列给合并了,就可以实现这种一对多嵌套信息的导出了。

  • 首先我们得把原来嵌套的订单商品信息给平铺了,创建一个专门的导出对象OrderData,包含订单和商品信息,二级表头可以通过设置@ExcelProperty的value为数组来实现;
  • 然后将原来嵌套的Order对象列表转换为OrderData对象列表;
  • 再创建一个自定义注解CustomMerge,用于标记哪些属性需要合并,哪个是主键;
* 自定义注解,用于判断是否需要合并以及合并的主键 * 是否需要合并单元格 * 是否是主键,即该字段相同的行合并
  • 再创建自定义单元格合并策略类CustomMergeStrategy,当Excel中两列主键相同时,合并被标记需要合并的列;
* 自定义单元格合并策略 * 需要合并的列的下标集合 // 如果是标题,则直接返回 // 判断是否需要和上一行进行合并 // 不能和标题合并,只能数据行之间合并 // 将本行和上一行是同一类型的数据(通过主键字段进行判断),则需要合并 * 初始化主键下标和需要合并字段的下标 // 获取DTO所有的属性 // 遍历所有的字段,因为是基于DTO的字段来构建excel,所以字段数 >= excel的列数 // 为空,则表示该字段不需要导入到excel,直接处理下一个字段 // 获取自定义的注解,用于合并单元格 // 当配置为不需要导出时,返回的为null,这里作一下判断,防止NPE // 将字段和excel的表头匹配上 // 没有指定主键,则异常
  • 接下来在Controller中添加导出订单列表的接口,将我们自定义的合并策略CustomMergeStrategy给注册上去;
  • 在Swagger中访问接口测试,导出订单列表对应Excel;
  • 下载完成后,查看下文件,由于EasyExcel需要自己来实现,对比之前使用EasyPoi来实现麻烦了不少。

由于EasyExcel的官方文档介绍的比较简单,如果你想要更深入地进行使用的话,建议大家看下官方Demo。

体验了一把EasyExcel,使用还是挺方便的,性能也很优秀。但是比较常见的一对多导出实现比较复杂,而且功能也不如EasyPoi 强大。如果你的Excel导出数据量不大的话,可以使用EasyPoi,如果数据量大,比较在意性能的话,还是使用EasyExcel吧。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《》和《》。如果您发现本社区中有涉嫌抄袭的内容,填写进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

我要回帖

更多关于 软件开发常用的云服务器工具 的文章

 

随机推荐