软件简介

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)

SSIO通信框架的设计思想是在SuperIO(SIO)基础上发展而来,并没有高大上的技术,主要是工作经验的积累,适合于不同应用场景的物联网的数据采集与交互。SSIO和SIO并不是简单的对IO高性能的操作,而是设备驱动、IO通道、控制模式和实际硬件设备之间的协调机制,各方面之间无缝衔接和运行,也是为了解决现实工作和应用场景...

0
3
发表于硬件 & IoT专区
2016/08/17 16:26

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

更新具体细节参见:[更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能、BUG、细节说明,以及升级思考过程! 声明:公司在建设工业大数据平台,SSIO正好能派上用场,所以抓紧时间进行了完善,并且...

0
0
发表于硬件 & IoT专区
2016/09/19 12:06

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

一、项目背景 我们是传统行业,但是我们有一颗不传统的心。企业用户遍布国内和国外,面对行业,要建设行业级的(大)数据平台。一提到大数据平台,大家往往想到Hadoop、Spark、Nosql、分布式等等,我只能...

0
0
发表于硬件 & IoT专区
2017/03/22 20:00

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

1.自我介绍 本人已经工作10年,一直在工业领域。在一线干过实施,下过矿井;干过项目,带过团队;干过软件研发,出过产品;干过项目群管理,售前和市场也接触过;期间在纯软件公司也干过将...

0
0
发表于程序人生专区
2017/03/22 20:00

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

1.自我介绍 本人已经工作10年,一直在工业领域。在一线干过实施,下过矿井;干过项目,带过团队;干过软件研发,出过产品;干过项目群管理,售前和市场也接触过;期间在纯软件公司也干过将...

0
0
发表于服务端专区
04/16 22:05

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

一.SSIO的特点 轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。 设备驱动、IO通道、控制模式场景协调统一。 设备驱动内轩命令驱动器、命令缓存器、自定义参数和实时数据元素。 ...

0
0
发表于硬件 & IoT专区
2017/03/22 20:00

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

1.自我介绍 本人已经工作10年,一直在工业领域。在一线干过实施,下过矿井;干过项目,带过团队;干过软件研发,出过产品;干过项目群管理,售前和市场也接触过;期间在纯软件公司也干过将...

0
0
发表于硬件 & IoT专区
2016/03/24 22:23

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

目 录 C#跨平台物联网通讯框架ServerSuperIO(SSIO)正式开源... 1 1. SSIO的特点 2. SSIO概述 3. SSIO与SIO的区别 4. 控制模式 5. 跨平台Windo...

0
0
发表于硬件 & IoT专区
2016/04/07 14:04

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

SSIO的更新 在SSIO上增加了UDP通讯方式,可以到Github上下载源代码。在原来的项目中,远端的设备与中心站的数据交互并没有使用过UDP方式。这种短连接的通讯链路,不容易维护,主要体现在:(1)持续的...

0
0
发表于程序人生专区
2016/04/28 16:25

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

1.【开源】C#跨平台物联网通讯框架ServerSuperIO(SSIO) 2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案 3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
4 收藏
分享
返回顶部
顶部