之前有篇文章我们说到 Spread 表格组件的 Java CTP 版本已经发布:《表格组件JAVACTP版本抢先预览》。

本篇我们来看一下他的主要功能,例如下图所示的Excel我们应当如何实现:

1.初始化workbook

(初始化workbook会默认初始化一个worksheet),获取worksheet对象,之后更改sheet标签名称为Tables

2.插入数据:

Spread Service中支持插入二位数组形式的插入方式,例如下面所示:

Object[][] sourceData = new Object[][]{

{"ITEM", "AMOUNT"},

{"Income 1", 2500},

{"Income 2", 1000},

{"Income 3", 250},

{"Other", 250},

};

Object[][] sourceData1 = new Object[][]{

{"ITEM", "AMOUNT"},

{"Rent/mortgage", 800},

{"Electricity", 120},

{"Gas", 50},

{"Cell phone", 45},

{"Groceries", 500},

{"Car payment", 273},

{"Auto expenses", 120},

{"Student loans", 50},

{"Credit cards", 100},

{"Auto Insurance", 78},

{"Personal care", 50},

{"Entertainment", 100},

{"Miscellaneous", 50},

};

worksheet.getRange("B3:C7").setValue(sourceData);

worksheet.getRange("B10:C23").setValue(sourceData1);

3.设置单元格合并:

worksheet.getRange("B3:C7").setValue(sourceData);

worksheet.getRange("B10:C23").setValue(sourceData1);

worksheet.getRange("B2:C2").merge();

worksheet.getRange("B2").setValue("MONTHLY INCOME");

worksheet.getRange("B9:C9").merge();

worksheet.getRange("B9").setValue("MONTHLY EXPENSES");

worksheet.getRange("E2:G2").merge();

worksheet.getRange("E2").setValue("PERCENTAGE OF INCOME SPENT");

worksheet.getRange("E5:G5").merge();

worksheet.getRange("E5").setValue("SUMMARY");

worksheet.getRange("E3:F3").merge();

worksheet.getRange("E9").setValue("BALANCE");

worksheet.getRange("E6").setValue("Total Monthly Income");

worksheet.getRange("E7").setValue("Total Monthly Expenses");

4.创建表格,设置表名,设置表样式

//Create the first table to show Income.

ITable incomeTable = worksheet.getTables().add(worksheet.getRange("B3:C7"), true);

incomeTable.setName("tblIncome");

incomeTable.setTableStyle(workbook.getTableStyles().get("TableStyleMedium4"));

//Create the second table to show Expenses.

ITable expensesTable = worksheet.getTables().add(worksheet.getRange("B10:C23"), true);

expensesTable.setName("tblExpenses");

expensesTable.setTableStyle(workbook.getTableStyles().get("TableStyleMedium4"));incomeTable.setTableStyle(workbook.getTableStyles().get("TableStyleMedium4"));

5.设置表格公式

因为合计公式需要重复使用,可以定义名称将其以别名命名

worksheet.getNames().add("TotalMonthlyIncome", "=SUM(tblIncome[AMOUNT])");

worksheet.getNames().add("TotalMonthlyExpenses", "=SUM(tblExpenses[AMOUNT])");

之后我们就可以通过别名来快捷调用这些公式了

worksheet.getRange("E3").setFormula("=TotalMonthlyExpenses");

worksheet.getRange("G3").setFormula("=TotalMonthlyExpenses/TotalMonthlyIncome");

worksheet.getRange("G6").setFormula("=TotalMonthlyIncome");

worksheet.getRange("G7").setFormula("=TotalMonthlyExpenses");

worksheet.getRange("G9").setFormula("=TotalMonthlyIncome-TotalMonthlyExpenses");

6.最后以文件流形式导出生成Excel文件

File f= new File("d:" + File.separator + "outputExcel.xlsx");

OutputStream out = null;

out = new FileOutputStream(f);

workbook.save(out);

out.close();

大功告成,让我们打开导出的Excel看一下效果:

以上就是 Spread Service 在java平台表格相关的功能示例,相信看了之后大家对 Spread Service 的表格应用会有一些收获,除此之外,Spread表格组件还有许多强大的功能,有兴趣的朋友可以免费试用本产品。

关于葡萄城:

赋能开发者!葡萄城公司成立于 1980 年,是全球领先的集开发工具、商业智能解决方案、管理系统设计工具于一身的软件和服务提供商。西安葡萄城是其在中国的分支机构,面向全球市场提供软件研发服务,并为中国企业的信息化提供国际先进的开发工具、软件和研发咨询服务。葡萄城的控件和软件产品在国内外屡获殊荣,在全球被数十万家企业、学校和政府机构广泛应用。

Spread表格组件For JAVA功能介绍—表格相关操作相关推荐

  1. java communiframe_[Java教程]javascript iframe相关操作

    [Java教程]javascript iframe相关操作 0 2014-08-21 21:02:45 1. 获得iframe的window对象 iframeElement.contentWindow ...

  2. Java String类的相关操作

    Java String类的相关操作 一.如何遍历字符串 //法一 String str="hello world"; for(int i=0;i<str.length();i ...

  3. 【Liunx常用操作】LVM逻辑卷的介绍和相关操作(创建、删除、扩缩容)

    [Liunx常用操作]LVM逻辑卷的介绍和相关操作 提示:为保证文章的正确性和实用性,文章内容作者会不断优化改进,若您有建议或者文章存在错误请留言或评论指正. 前言 LVM(Logical Volum ...

  4. java 操作 word 表格和样式,java读取word表格中的表格 java如何读取word中的excel表格数据...

    Java 利用poi 可以直接读取word中的表格保持样式生1.读取word 2003及word 2007需要的jar包 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi ...

  5. layui数据表格如何获取id_LayUI之table数据表格获取行、行高亮等相关操作

    前言 目前LayUI数据表格既美观有不乏一些实用功能.基本上表格应有的操作已经具备,LayUI作者[贤心]肯定是煞费苦心去优化,此处致敬.但是实话实话,如果单纯那数据表格功能来说,EasUI的数据表格 ...

  6. Openstack组件部署 — Keystone功能介绍与认证实现流程

    目录 目录 前文列表 Keystone认证服务 Keystone认证服务中的概念 Keystone的验证过程 简单来说 前文列表 Openstack组件部署 - Overview和前期环境准备 Ope ...

  7. 列表介绍以及相关操作,元组的介绍以及相关操作

    一.列表 1.1 列表介绍 列表是python的基础数据类型之⼀ ,其他编程语⾔也有类似的数据类型. 比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素⽤' , '隔开⽽且可 ...

  8. 跟着团子学SAP PS-前台篇-WBS元素介绍及相关操作 CJ20N

    上次讲解了项目定义的创建,以及创建过程中的一些小技巧,这次讲解WBS的创建. WBS的创建在实际业务中大多都是通过复制模版的形式生成的,但我们首先讲解从头创建WBS的一些方法以及连部分PS顾问都未在意 ...

  9. java rect offset_Rect 的相关操作

    1.BOOL EqualRect( CONST RECT *lprc1, // first rectangle CONST RECT *lprc2 // second rectangle ); 说明: ...

最新文章

  1. cli3解决 ie11语法错误 vue_vue-admin-template基于vue2的极简后台管理系统
  2. pip快速下载安装python 模块module
  3. 如何自动保存 Spring Boot 应用进程号?
  4. move函数c语言,C++11 move()函数:将左值强制转换为右值
  5. 43 | 发挥人的潜能:探索式测试
  6. 《梦断代码》阅读笔记01
  7. Vue+element-ui 实现表格的分页功能示例
  8. 关于日志系统显示SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“.
  9. 体验共享——技术实现瓶颈与突破
  10. 怎样使用C# 获取WIFI的连接状态?
  11. mysql 5.5 client 字符集_MySQL 5.5.28字符集的设置_MySQL
  12. 数据结构 2-3-1 线性表的单链表实现
  13. 阿里华为百度三足鼎立,5G 资费高,操作系统 Linux 称王 | 中国物联网开发者真实现状报告...
  14. [AHOI 2012]树屋阶梯
  15. 面向对象三,约束,加密
  16. DirectX修复工具
  17. java udp 接收16进制,java udp接收16进制乱码
  18. android 滤镜录制,Android Camera 实时滤镜
  19. 线报天下 2021 (免费补丁) 原创工具
  20. list之按照中文拼音首字母排序

热门文章

  1. 详解 Linux环境中DHCP分配IP地址(实验详解)
  2. JFreeChart基本的用法实例(一)
  3. 服务器数据库怎么添加计划维护,服务器数据库怎么添加计划维护
  4. 后副车架焊接机器人_车架全自动焊接机器人的日常维护保养方法
  5. 是什么包_包粽子教程,喜欢的收藏,以后想吃什么样的都可以自己包
  6. js if判断多个条件_EXCEL一对多条件查找显示多个结果(INDEX+SMALL+IF+ROW函数组合)...
  7. c# u盘使用记录_C# 系统应用之通过注册表获取USB使用记录(一)
  8. java面试题六 float变量合法声明
  9. 取消myeclipse2017的Dashboard页面
  10. excel打印预览在哪里_Excel如何打印表格,每页纸都有标题?