zoukankan      html  css  js  c++  java
  • Java JXL 实现Excel文件读写操作

    1:Excel解析的三种实现方式

     Apache POI:提供API给Java程序对Microsoft office格式档案读和写的功能。

            HSSF:horrible SpreadSheet Format,通过HSSF,可以实现纯java代码读取、写入、修改Excel文件。

            对于导入导出内容的不同,查询poi的API,使用不同的类库。

      扩展:iText不仅可以生成PDF或rtf的文档,还可以将xml html文件转换成PDF格式。

     JXL:java Excel可以读取excle文件的内容,创建新的excel文件,更新已经存在的excel文件。

     FastExcel:是纯Java开发的excel文件读取组件,只关注excel的内容,不关注其他属性如颜色、字体。

    2:JXL

    写操作:

    package com.zhao.JXL;
    
    import java.io.File;
    import java.io.IOException;
    
    import jxl.Workbook;
    import jxl.write.Label;
    import jxl.write.WritableSheet;
    import jxl.write.WritableWorkbook;
    
    public class JXL_Write {
    
    /**
    * JXL创建Excel
    * @author zhao
    * @param args
    */
    public static void main(String[] args) {
    String[] title = { "id", "name", "gender" };
    // 创建Excel文件
    File file = new File("D:" + File.separator + "jxl_text.xls");
    try {
    file.createNewFile();
    // 创建工作薄workBook
    WritableWorkbook workbook = Workbook.createWorkbook(file);
    // 创建工作表sheet
    WritableSheet sheet = workbook.createSheet("sheet1", 0);
    Label label = null;
    
    /*
    * column:列 row:行 content:内容 JXL没有直接针对单元格的操作,直接对行 或者 列进行写入,如果操作单元格
    * 会有些复杂。
    */
    // Label label2=new Label(column, row, content);
    
    // 第一行设置列名
    for (int i = 0; i < title.length; i++) {
    label = new Label(i, 0, title[i]);
    sheet.addCell(label);
    }
    // 追加数据
    for (int i = 1; i < 5; i++) {
    label = new Label(0, i, 1 + ":zhao" + i);
    sheet.addCell(label);
    label = new Label(1, i, 2 + ":zhao" + i);
    sheet.addCell(label);
    label = new Label(2, i, 3 + ":zhao" + i);
    sheet.addCell(label);
    }
    // 写入数据
    workbook.write();
    workbook.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    
    }
    
     

    读操作:

    package com.zhao.JXL;
    
    import jxl.Cell;
    import jxl.Sheet;
    import jxl.Workbook;
    import jxl.read.biff.BiffException;
    
    import java.io.File;
    import java.io.IOException;
    
    public class JXL_Read {
    /**
    * JXL解析excel
    * @author zhao
    * @param args
    */
    public static void main(String[] args) {
    try {
    //创建workBook,并指定路径
    Workbook workbook=Workbook.getWorkbook(new File("D:"+File.separator+"jxl_text.xls"));
    //获取工作表sheet
    Sheet sheet=workbook.getSheet(0);
    //获取数据
    int rows=sheet.getRows();    //
    int columns=sheet.getColumns();    //
    for(int row=0;row<rows;row++){
    for(int column=0;column<columns;column++){
    Cell cell=sheet.getCell(column, row);
    System.out.print(cell.getContents()+" ");
    }
    System.out.println();
    }
    workbook.close();
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
    
     
  • 相关阅读:
    『转』 PreTranslateMessage作用和使用方法
    either...or...与 neither...nor...
    CSS五類常用選擇器(收藏)
    JQuery选择器(selectors 的xpath语法应用)
    我是怎么看friends练口语的(转贴)
    变量的命名方法【Hungarian】【camelCase】【PascalCase】
    JavaScript继承机制的实现(未完)
    JavaScript面向对象编程(1) 基础
    Javascript:Object.extend
    JavaScript面向对象编程(2) 类的定义
  • 原文地址:https://www.cnblogs.com/zhao307/p/5342283.html
Copyright © 2011-2022 走看看