JAVA Excel API学习案例

原创 2014年08月17日 01:33:07

先贴代码吧,运行一下,看看效果,然后看看注释,再看看代码后面的基础介绍

创建一个新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 API学习实例

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedRead...
  • earbao
  • earbao
  • 2012年11月28日 21:37
  • 3891

Java API学习笔记(一)

1. 不要重复初始化变量默认情况下,调用类的构造函数时,java会把变量初始化成确定的值,所有的对象被设置成null,整数变量设置成0,float和double变量设置成0.0,逻辑值设置成false...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2016年07月31日 14:52
  • 2143

有什么常用的JAVA API可以操作excel的导入导出(读取和写入)功能?

有什么常用的JAVA API可以操作excel的导入导出(读取和写入)功能? 答案: Apache POI 或者译为java poi  官网地址:http://poi.apache.org/...
  • suyu_yuan
  • suyu_yuan
  • 2016年10月04日 11:22
  • 661

Java POI Excel( pio:纯java操作excel的api )

POI官方网址:http://poi.apache.org/ POI的功能实在很强大,而且是apache的子项目,它下面又包含一些Component,比如处理Excel XLS,PowerPoint...
  • wugouzi
  • wugouzi
  • 2013年09月02日 14:32
  • 10496

java excel api(jxl.jar)库基础操作学习

读取excel JExcelApi支持从文件和输入流读取excel表格。要想读取excel第一步你应该创建一个Workbook:import java.io.File; import java.u...
  • Cloud_Huan
  • Cloud_Huan
  • 2017年03月11日 14:11
  • 870

Java 操作excel表格 - JXL(Java excel api)

Java 操作excel表格Java 操作 Excel 最常用的就是JXL(Java excel api)和POI,用起来挺简单的,不过相应的其功能也并非很强大,够用就行!首先,下载jxl.jar 文...
  • qq_16559905
  • qq_16559905
  • 2017年05月22日 18:57
  • 447

Java POI Excel( poi:纯java操作excel的api )

POI官方网址:http://poi.apache.org/POI的功能实在很强大,而且是apache的子项目,它下面又包含一些Component,比如处理Excel XLS,PowerPoint P...
  • feng_870906
  • feng_870906
  • 2011年04月29日 10:45
  • 6335

Java读写Excel文件(Java Excel API)

下载地址:http://www.andykhan.com/jexcelapi/download.html
  • a19881029
  • a19881029
  • 2014年07月18日 17:34
  • 4489

JAVA API 学习记录一 java.lang.*

Interface Appendable append Appendable append(CharSequence csq) throws java.io.IOException向此 Appe...
  • wenwen091100304
  • wenwen091100304
  • 2014年12月14日 16:27
  • 1045

java API 文档的学习

java的api就像学英语的单词 1、你需要背大量的单词,如果你真的能背下海量单词,对于你进一步学习会有一定的帮助  2、你会的单词太少不行,即你起码要对常用的一些包里的api要有所了解    ...
  • u014484902
  • u014484902
  • 2014年04月07日 07:58
  • 1138
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA Excel API学习案例
举报原因:
原因补充:

(最多只允许输入30个字)