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();
}
}
}

 

 

posted @ 2016-03-31 18:32  假寐的我  阅读(2273)  评论(0编辑  收藏  举报