先贴代码吧,执行一下。看看效果,然后看看凝视,再看看代码后面的基础介绍

创建一个新excel并写入数据:

public static void myExcel2() throws IOException, WriteException {
WritableWorkbook wwb = Workbook.createWorkbook(new File("F:"
+ File.separator + "myExcel1.xls"));
// 创建excel表格中的一个sheet项
WritableSheet sheet = wwb.createSheet("第一页", 0);
// excel中的cell元素能够有非常多种数据类型,比方Number,Label等等
// 在API中,为我们提供了非常多的cell类型
// 单元格格式编辑
// 合并单元格式
sheet.mergeCells(0, 0, 5, 0);
/* ===========单元格中文字的格式案例============ */
// cell元素中字体(字体格式,颜色,大小的控制)
WritableCellFormat forFont = new WritableCellFormat();// 单元格样式对象
WritableFont font = new WritableFont(WritableFont.ARIAL);// 选择字体
font.setColour(Colour.RED);// 颜色
font.setPointSize(20); // 大小
font.setUnderlineStyle(UnderlineStyle.DOUBLE);// 下划线
forFont.setFont(font); // 将字体样式对象加入进入单元格样式对象
forFont.setAlignment(Alignment.CENTRE);// 文字居中
// 创建一个单元格,并指定位置。内容和格式
Label topLabel = new Label(0, 0, "合并单元格。设置字体格式", forFont);
// 将创建的单元格对象加入进入sheet页中
sheet.addCell(topLabel);
sheet.setRowView(0, 1000); /* ===========单元格中数字的格式化案例============ */
// 创建数字格式化对象
NumberFormat numFormat = new NumberFormat("#.000");
// 创建单元格格式化对象并加入数字格式化对象
WritableCellFormat forNumber = new WritableCellFormat(numFormat);
Number myNumber = new Number(0, 1, 3.14159, forNumber);
sheet.addCell(myNumber); /* ===========单元格中日期的格式化案例============ */
DateFormat dateFormat = new DateFormat("yyyy-MM-dd");
WritableCellFormat forDate = new WritableCellFormat(dateFormat);
forDate.setBackground(Colour.BLUE); // 设置单元格颜色
DateTime myDate = new DateTime(1, 1, new Date(), forDate);
sheet.addCell(myDate);
// 写入文件
wwb.write();
// 关闭
wwb.close();
}

利用java创建一个全新的Excel文档,通过学习API,我总结的一个流程例如以下:

1.须要创建一个能够进行写入操作的Workbook对象,即:WritableWorkbook,同一时候传入參数能够是一个文件输出流,也能够是一个通过File创建的一个对象(參数是文件名称),如:

WritableWorkbook wwb = new
WritableWorkbook(new File("myExcel.xls"));

2.创建可编辑的WritableSheet对象。在Excel文档中能够有多个sheet页,第一个sheet指定为0,如:

WritableSheet sheet = wwb.createSheet("sheet1",0);

3.首先,创建一个相应类型的格式化对象,比方

NunberFormat dateformat = new NunberFormat("yyyy-MM-dd")对象

4.然后创建一个Excel单元格格式化对象。而且将上述相应类型格式化对象以參数的方式传递,比方

WritableCellFormat datecellformat = new WritableCellFormat(dateformat);

5.创建单元格对象,设置位置,值,以及指定单元格格式化对象

DateTime mydate = new DateTime(0,0,new Date(),datecellformat);

单元格格式化对象的參数说明:这里以四个參数的构造函数为例进行说明:

第一个參数是列号,第二个參数是行号,第三个參数是值。第四个參数是可选择的,表示格式,
原因是第四个參数能够通过setCellFormat()方法指定格式

6.将创建的单元格对象,加入到sheet中

7.进行写入操作:wwb.write();

8.关闭操作:wwb.close()

特别说明,假设有输出流。不用的时候请关闭输出流

意外发现,java中也有Number。所以,我们在这里请务必导入jsl.write.Number,否则下列语句将报错:

Number myNumber = new Number(0, 1, 3.14159, forNumber);

日期格式參数说明:

yyyy 四位年份 MM 两位月份 dd 两位天 hh 两位小时数字 mm两位分钟数字(大写表示月份)ss 两位秒数

常见格式:

yyyy-MM-dd hh:mm:ss
(中间特殊符号可任意设定,一般能够有“-”,“/”," ")

数字格式化时參数说明:

java中对数字的格式化主要用#和0作为站位符,详解例如以下:

保留整数部分和3位小数:#.000

取2位整数和2位小数:00.00

当整数部分不足时,会补0,缺多少补多少个0

百分制%:即在上述格式后加入一个%符号

#.##%(小数点后的“#”作用等同于“0”)

科学计数法:用E字母,如:00.000E0

数字切割:每三位中间加入一个“,”号

import java.text.DecimalFormat;

public class TestNumberFormat {

    public static void main(String[] args) {
double pi = 3.1415927; // 圆周率
// 取一位整数
System.out.println(new DecimalFormat("0").format(pi)); // 3
// 取一位整数和两位小数
System.out.println(new DecimalFormat("0.00").format(pi)); // 3.14
// 取两位整数和三位小数,整数不足部分以 0 填补。
System.out.println(new DecimalFormat("00.000").format(pi)); // 03.142
// 取全部整数部分
System.out.println(new DecimalFormat("#").format(pi)); // 3
// 以百分例如式计数,并取两位小数
System.out.println(new DecimalFormat("#.##%").format(pi)); // 314.16% long c = 299792458; // 光速
// 显示为科学计数法。并取五位小数
System.out.println(new DecimalFormat("#.#####E0").format(c)); // 2.99792E8
// 显示为两位整数的科学计数法,并取四位小数
System.out.println(new DecimalFormat("00.####E0").format(c)); // 29.9792E7
// 每三位以逗号进行分隔。 System.out.println(new DecimalFormat(",###").format(c)); // 299,792,458
// 将格式嵌入文本
System.out.println(new DecimalFormat("光速大小为每秒 ,### 米。 ").format(c));
}
}

未完待续。还有对已存在的文件进行读取和改动操作,以及常见的format參数说明

JAVA Excel API学习案例的更多相关文章

  1. jxl(Java Excel API) 使用方法 【2】

    JAVA EXCEL API简介 Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该 API非Win ...

  2. jxl(Java Excel API) 使用方法 【1】

    //   构建Workbook对象, 只读Workbook对象  //   直接从本地文档创建Workbook  //   从输入流创建Workbook Workbook workbook = nul ...

  3. java线程API学习 线程池ThreadPoolExecutor(转)

    线程池ThreadPoolExecutor继承自ExecutorService.是jdk1.5加入的新特性,将提交执行的任务在内部线程池中的可用线程中执行. 构造函数 ThreadPoolExecut ...

  4. java核心API学习

    1:java.lang  (Object.String.StringBuffer.Thread.System.ClassLoader.Class.Runtime.包装类等)

  5. Java Excel API的使用

    https://wenku.baidu.com/view/724cc9e2dd88d0d232d46a1b.html

  6. 摘:JAVA JXL API的详细使用

    转自:http://www.cr173.com/html/10377_1.html 1 开发调研1.1 需求描述MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式.作为 ...

  7. Java数据持久层框架 MyBatis之API学习八(Java API详解)

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  8. Java语言学习案例雷霆战机

    1.Java雷霆战机学习笔记(一)-资源加载 https://www.toutiao.com/i6631331313259381255/ 2.Java雷霆战机学习笔记(二)-音乐播放 https:// ...

  9. 第65节:Java后端的学习之Spring基础

    Java后端的学习之Spring基础 如果要学习spring,那么什么是框架,spring又是什么呢?学习spring中的ioc和bean,以及aop,IOC,Bean,AOP,(配置,注解,api) ...

随机推荐

  1. Linux Oracle服务启动&停止脚本与开机自启动

    在CentOS 6.3下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数,首先先介 ...

  2. iOS数组越界

    数组越界就是假如你的下标总数现在为32个,然后你在下一秒又执行了一个方法要从50个数据里进行赋值啊筛选之类的,而你此时数组里的值为32个,50的数据还没有请求到,往往会出现数组越界的崩溃信息,大概是这 ...

  3. DevExpress的GridControl拖拽DraopDown后计算HitInfo的RowHandle错误

    最近在使用GridControl的拖拽功能时候遇到了一个问题:当GridControl触发DropDrop事件时,计算对应的RowHandle错误.当把鼠标拖拽到GridView一个单元格的靠上面的部 ...

  4. TLD算法

    TLD算法好牛逼一个,这里有个视频,是作者展示算法的效果,http://www.56.com/u83/v_NTk3Mzc1NTI.html.下面这个csdn博客里有人做的相关总结,感觉挺好的,收藏了! ...

  5. hdu1853 Cyclic Tour 完美匹配 验证模版

    题意: 给出n个城市和m条路,每个城市只能经过一次,想要旅游所有的城市,求需要的最小花费(路径的长度). 分析: 做题之前,首先要知道什么是完美匹配.不然题目做了却不知道为什么可以用这个方法来做.完美 ...

  6. Django mysql 改用pymysql 驱动

    DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #数据库引擎 'NAME': 'test', #数据库名 'USER' ...

  7. Mac 查看 剪贴板/剪切板/粘贴板 内容与格式

    命令行形式 osascript -e 'clipboard info' GUI 形式 Finder->编辑->显示剪贴板 图示:

  8. windows 命令行 for 用法

    for /r 目录名 %i in (匹配模式1,匹配模式2) do @echo %i for /r SATA %i in (*.txt) do @echo %i D:\REY\test>for ...

  9. 洛谷P3165 [CQOI2014]排序机械臂 Splay维护区间最小值

    可以将高度定义为小数,这样就完美的解决了优先级的问题. Code: #include<cstdio> #include<algorithm> #include<cstri ...

  10. yum 安装nginx(配置开机启动)

    yum install -y nginx 通过yum安装的时候提示下面的错误 [root@localhost yum.repos.d]# yum install nginx 已加载插件:fastest ...