JAVA JXL对EXCEL的简单读写Demo   

    项目用到excel的操作,我就分享一下简单的基本的java excel的读写操作(都是在网上学习整理的),更多功能就自己去看API吧,我开个头,后面你就能快速就行各种修改了,真的很简单,希望对大家有帮助。俗话说万事开关难,我看代码一点不难,解释就在代码里,话不多说上源码了。

    有问题请邮箱 :526614527@QQ.COM

    基本的写入:

package com.ywj.write;
import java.io.File;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Colour;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class TestWrite {
    public static void main(String[] args) throws Exception {
    
    File file = new File("F:" + File.separator + "test.xls");
    
    WritableWorkbook writableWorkbook = Workbook.createWorkbook(file);
    
    // 一个sheet就是一页的意思,createSheet(页名,第几页) 页数从0开始起
    WritableSheet excelSheet = writableWorkbook.createSheet("第一页", 0);
    /**
     * Lable 普通文字类型,参数说明:Lable(x坐标,y坐标,内容) 左上角的格子对应的(x,y)是(0,0)
     * 第一行第一列坐标是(0,0) 第一行第二列坐标是(1,0) 第一行第三列坐标是(2,0)
     * 第二行第一列坐标是(0,1) 第二行第二列坐标是(1,1) 第二行第三列坐标是(1,2)
     * Number参数也一样
     */
    Label label = new Label(0, 0, "0,0");
    excelSheet.addCell(label);
    
    label = new Label(1, 0, "1,0");
    excelSheet.addCell(label);
    
    label = new Label(2, 0, "2,0");
    excelSheet.addCell(label);
    
    label = new Label(0, 1, "0,1");
    excelSheet.addCell(label);
    
    label = new Label(1, 1, "1,1");
    excelSheet.addCell(label);
    
    // 加了样式的 更多格式看API 这里举个例子
    WritableFont wf = new WritableFont(WritableFont.ARIAL, 8);// 字体大小
    wf.setColour(Colour.RED);// 红色
    WritableCellFormat wcf = new WritableCellFormat();
    wcf.setFont(wf);
    wcf.setAlignment(Alignment.CENTRE);// 水平居中
    wcf.setVerticalAlignment(VerticalAlignment.CENTRE);// 垂直居中
    // 等等。。。看API
    label = new Label(3, 0, "3,0", wcf);
    excelSheet.addCell(label);
    
    writableWorkbook.write();
    writableWorkbook.close();// 关闭
    // 最基本的就这么简单
    }
}

效果:

blob.png


多页写入:

package com.ywj.write;
import java.io.File;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class TestWriteMoreSheet {
    public static void main(String[] args) throws Exception {
    
    File file = new File("F:" + File.separator + "test.xls");
    WritableWorkbook writableWorkbook = Workbook.createWorkbook(file);
    
    WritableSheet excelSheet = null;
    Label label = null;
    
    // 有三页吧 三个sheet
    for(int i = 0;i<3;i++){
    
        label = new Label(0, 0, "good"+(i+1));
        excelSheet = writableWorkbook.createSheet("第"+(i+1)+"页", i);
        excelSheet.addCell(label);
    }
    
    writableWorkbook.write();
    writableWorkbook.close();
    
    }
}

效果:

blob.png

基本的读取:


package com.ywj.write;
import java.io.File;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
public class TestRead {
    public static void main(String[] args) throws Exception {
        File file = new File("F:" + File.separator + "test.xls");
        Workbook workbook = Workbook.getWorkbook(file);
        
        int sheetNumber = workbook.getSheets().length;// 总共有几页
        Sheet sheet = null;
        Cell cell = null;
        
        for (int i = 0; i < sheetNumber; i++) {
        
            sheet = workbook.getSheet(i);// 第 i 页
            cell = sheet.getCell(0, 0);// 根据坐标来拿,坐标在write方法里有说明过了
            String contents = cell.getContents();
            System.out.println(contents);
        }
    }
}


效果:自己想。。。