zoukankan      html  css  js  c++  java
  • JAVA Excel API学习案例

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

    创建一个新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參数说明

  • 相关阅读:
    airodump-ng的使用及显示
    bash shell 遍历一个数组
    cisco 交换机 IOS命令
    apt-key Debian packages密钥管理命令
    find命令的用法
    bash的快捷键
    groff编写man页
    tcpdump软件使用
    vue 项目常见功能(搜索 时间戳转换 过滤器)
    vue2.0 常见功能 (v-for 配置路由 组件渲染)
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7002149.html
Copyright © 2011-2022 走看看