Ssio 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Ssio 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Ssio 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Ssio 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Ssio 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

Ssio 是一个简单的电子表格 I/O。

基本功能

把 Javabeans 存入 Excel/CSV,  或者从Excel/CSV中解析出Javabean

特性

  • 通过Annotation把Javabean Property映射到列
  • 支持日期格式
  • 支持复杂类型
  • 支持扩展以支持Excel/CSV之外的文件类型
  • 其它

代码示例

Bean definition

public class Player {

    @SsColumn(index = 0, name = "Id")
    private long id;

    @SsColumn(index = 1) // the column name will be decided as "Birth Country"
    private String birthCountry;

    @SsColumn(index = 2, typeHandler = FullNameTypeHandler.class) //complex prop type
    private FullName fullName;

    @SsColumn(index = 3) //The enum's name() will be saved. Otherwise, use a typeHandler
    private SportType sportType;

    @SsColumn(index = 4, format = "yyyy/MM/dd") //date format
    private LocalDate birthDate;

    @SsColumn(index = 5, typeHandler = TimestampAsMillisHandler.class)
    //if you prefer saving timestamp as number
    private LocalDateTime createdWhen;
    ...
}

Save

      SaveParam<Player> saveParam =
                //Excel-like file. For CSV,  use "new CsvSaveParamBuilder()"
                new OfficeSaveParamBuilder<Player>()  
                        .setBeanClass(Player.class)
                        .setBeans(players)
                        .setOutputTarget(outputStream)
                        .build();

        //Go to the SsioManagerFactory.java to see IoC options
        SsioManager ssioManager = SsioManagerFactory.newInstance();

        SaveResult saveResult = ssioManager.save(saveParam);
        //saveResult.getDatumErrors()

Parse

        //Excel-like file. For CSV,  use "new CsvParseParamBuilder()"
        ParseParam<Player> parseParam = new OfficeParseParamBuilder()
                .setBeanClass(Player.class)
                .setSpreadsheetInput(inputStream)
                .build();

        ParseResult<Player> parseResult = ssioManager.parse(parseParam);
        List<Player> parsedPlayers = parseResult.getBeans();
        // parseResult.getCellErrors();
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
2016/10/21 14:50

【开源】C#跨平台物联网通讯框架ServerSuperIO(SSIO)

目 录 C#跨平台物联网通讯框架ServerSuperIO(SSIO)正式开源... 1 1. SSIO的特点 2. SSIO概述 3. SSIO与SIO的区别 4. 控制模式 5. 跨平台Windows和Linux 一.SSIO的特点 轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。 设备驱动、IO通道、控制模式场景协调统一。 设备驱动内轩命令驱动器、命令缓存器、自定义参数和实时数据元素。 框架平台支持按设备命令优先级别进行调度,保证高级别命令及...

0
3
2016/08/17 16:26

开源跨平台物联网通讯框架ServerSuperIO 2.0(SSIO)下载

更新具体细节参见:[更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能、BUG、细节说明,以及升级思考过程! 声明:公司在建设工业大数据平台,SSIO正好能派上用场,所以抓紧时间进行了完善,并且升级到了2.0版本,希望对大家有帮助。仅供开源学习,商用请联系作者。 1.SSIO特点 轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。 不光是通讯框架,是设备驱动、IO通道、控制模式场景的协调...

0
0
2016/09/19 12:06

开源物联网框架ServerSuperIO(SSIO),项目中实践应用介绍

一、项目背景 我们是传统行业,但是我们有一颗不传统的心。企业用户遍布国内和国外,面对行业,要建设行业级的(大)数据平台。一提到大数据平台,大家往往想到Hadoop、Spark、Nosql、分布式等等,我只能说我们还比较低级,但是后期肯定会涉及到这些技术。做大数据平台是有风险的,抛开绝技术方面,应该从四个方面来考虑这个问题:企业思维的转变、是否解决实际问题、是否落地可实施、是否有增值效应。 不转变思维,企业不死,个...

0
0
2017/03/22 20:00

[开源]跨平台物联网通讯框架-ServerSuperIO(SSIO)

1.自我介绍 本人已经工作10年,一直在工业领域。在一线干过实施,下过矿井;干过项目,带过团队;干过软件研发,出过产品;干过项目群管理,售前和市场也接触过;期间在纯软件公司也干过将近两年的时间,熟悉软件开发流程与管理。虽然没有取得多大成绩,也算经历丰富了。 互联网“行业”如火如荼的发展,曾经也想过转行去做“互联网”,奈何犹豫太久,已然提不起太多兴趣。凭借当年的沉淀与积累,有个半成品的框架,在工作索然无...

0
0
2017/03/22 20:00

[开源]跨平台物联网通讯框架-ServerSuperIO(SSIO)

1.自我介绍 本人已经工作10年,一直在工业领域。在一线干过实施,下过矿井;干过项目,带过团队;干过软件研发,出过产品;干过项目群管理,售前和市场也接触过;期间在纯软件公司也干过将近两年的时间,熟悉软件开发流程与管理。虽然没有取得多大成绩,也算经历丰富了。 互联网“行业”如火如荼的发展,曾经也想过转行去做“互联网”,奈何犹豫太久,已然提不起太多兴趣。凭借当年的沉淀与积累,有个半成品的框架,在工作索然无...

0
0
2020/04/16 22:05

C#跨平台物联网通讯框架ServerSuperIO(SSIO)

一.SSIO的特点 轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。 设备驱动、IO通道、控制模式场景协调统一。 设备驱动内轩命令驱动器、命令缓存器、自定义参数和实时数据元素。 框架平台支持按设备命令优先级别进行调度,保证高级别命令及时发送。 一个设备驱动同时支持串口和网络两种通讯方式,可以监视IO通道数据。 一个设备驱动,在网络通讯时可以支持TCP Server和TCP Client两种工作模式。...

0
0
2017/03/22 20:00

[开源]跨平台物联网通讯框架-ServerSuperIO(SSIO)

1.自我介绍 本人已经工作10年,一直在工业领域。在一线干过实施,下过矿井;干过项目,带过团队;干过软件研发,出过产品;干过项目群管理,售前和市场也接触过;期间在纯软件公司也干过将近两年的时间,熟悉软件开发流程与管理。虽然没有取得多大成绩,也算经历丰富了。 互联网“行业”如火如荼的发展,曾经也想过转行去做“互联网”,奈何犹豫太久,已然提不起太多兴趣。凭借当年的沉淀与积累,有个半成品的框架,在工作索然无...

0
0
2016/03/24 22:23

【开源】C#跨平台物联网通讯框架ServerSuperIO(SSIO)

目 录 C#跨平台物联网通讯框架ServerSuperIO(SSIO)正式开源... 1 1. SSIO的特点 2. SSIO概述 3. SSIO与SIO的区别 4. 控制模式 5. 跨平台Windows和Linux 一.SSIO的特点 轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。 设备驱动、IO通道、控制模式场景协调统一。 设备驱动内轩命令驱动器、命令缓存器、自定义参数和实时数据元素。 框架平台支持按设备命令优先级别进行调度,保证高级别命令及...

0
0
2016/04/07 14:04

应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案

SSIO的更新 在SSIO上增加了UDP通讯方式,可以到Github上下载源代码。在原来的项目中,远端的设备与中心站的数据交互并没有使用过UDP方式。这种短连接的通讯链路,不容易维护,主要体现在:(1)持续的数据交互能力。(2)对现场设备进行长时间的维护和校准。(3)SSIO要协调设备、IO和控制方式之间的运作关系,无法即时反应设备的IO状态。等等。 但是,对于一个平台来讲,UDP的通讯方式是应该具有的,根据现场情况选择是否应用。...

0
0
2016/04/28 16:25

[更新]跨平台物联网通讯框架 ServerSuperIO v1.2(SSIO),增加数据分发控制模式

1.【开源】C#跨平台物联网通讯框架ServerSuperIO(SSIO) 2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案 3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App) 4.开源地址:https://github.com/wxzz/ServerSuperIO 1.SSIO更新内容: 增加数据分发模式(DeliveryMode),在网络通讯异步通讯时,接收到数据后,可以按设备...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
5 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部