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();
    }
    }
    }
    
     
  • 相关阅读:
    家庭记账本开发进度6
    家庭记账本开发进度5
    家庭记账本开发进度4
    家庭记账本开发笔记3
    大道至简阅读笔记01
    个人作业 数组(续)
    二维数组
    个人作业1-数组
    软件工程第一周开课微博
    第一周学习进度条报告
  • 原文地址:https://www.cnblogs.com/zhao307/p/5342283.html
Copyright © 2011-2022 走看看