對Excel表的操作(讀取,更新,創建) – JAVA編程語言程序開發技術文章

在日常工作中,對Excel工作表格的操作處理可是多的數不清楚,下面是java語言對其的操作(首先要把jxl.jar包拷到工程lib目錄下面):
工程架構:


創建Excel:CreateExcel.java
[java]
<span style="font-size:16px;">package test1;   
   
import java.io.File;   
import java.io.IOException;   
   
import jxl.Workbook;   
import jxl.write.Label;   
import jxl.write.WritableSheet;   
import jxl.write.WritableWorkbook;   
import jxl.write.WriteException;   
import jxl.write.biff.RowsExceededException;   
   
public class CreateExcel{   
   
    public static void main(String args[]) {   
   
        try {   
            // 打開文件   
            WritableWorkbook book = Workbook.createWorkbook(new File("test2.xls"));   
            // 生成一個名為“第一頁”的工作表,“0”表示第一頁   
            WritableSheet sheet = book.createSheet("第一頁", 0);   
            // 在Label對象中構造制定的第一列,第一行(0,0)   
            // 以及單元格的內容為“testtest”   
            Label label = new Label(0, 0, "testtest");   
            // 將值添加到單元格中   
            sheet.addCell(label);   
            // 生成一個保存數字的單元格,必須使用Number的完整包路徑,否則將出現歧異   
            // 單元格位置為第二列,第一行,值為555.1234   
            jxl.write.Number number = new jxl.write.Number(1, 0, 555.1234);   
            // 將值添加到單元格中   
            sheet.addCell(number);   
            // 寫入數據並關閉文件   
            book.write();   
            book.close();   
        } catch (IOException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        } catch (RowsExceededException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        } catch (WriteException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        }   
    }   
}  </span> 
更新數據:UpdateExcel
[java] 
<span style="font-size:16px;">package test1;   
   
import java.io.File;   
import java.io.IOException;   
   
import jxl.Workbook;   
import jxl.read.biff.BiffException;   
import jxl.write.Label;   
import jxl.write.WritableSheet;   
import jxl.write.WritableWorkbook;   
import jxl.write.WriteException;   
import jxl.write.biff.RowsExceededException;   
   
/** 
 * 利用jExcelAPI可以修改已有的Excel文件,修改Excel文件的時候 除瞭打開文件的方式不同之外,其他操作和創建Excel是一樣的 
 */   
public class UpdateExcel{   
   
    public static void main(String args[]) {   
   
        try {   
            // 打開文件   
            Workbook wb = Workbook.getWorkbook(new File("test1.xls"));   
            // 打開一個文本的副本,並指定數據寫回到源文件   
            WritableWorkbook book = Workbook.createWorkbook(new File("test2.xls"), wb);   
            // 添加一個工作表   
            WritableSheet sheet = book.createSheet("第二頁", 1);   
            sheet.addCell(new Label(0, 0, "測試通過"));   
            book.write();   
            book.close();   
        } catch (BiffException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        } catch (IOException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        } catch (RowsExceededException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        } catch (WriteException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        }   
    }   
}  </span> 
讀取數據:ReadExcel.java
[java] 
<span style="font-size:16px;">package test1;   
   
import java.io.File;   
import java.io.IOException;   
   
import jxl.Cell;   
import jxl.Sheet;   
import jxl.Workbook;   
import jxl.read.biff.BiffException;   
   
// 讀取Excel文件   
public class ReadExcel{   
   
    public static void main(String args[]) {   
   
        try {   
            // 打開文件   
            Workbook book = Workbook.getWorkbook(new File("test1.xls"));   
            // 獲得第一個表的工作對象,“0”表示第一個表   
            Sheet sheet = book.getSheet(0);   
            int rows = sheet.getRows();   
            int cols = sheet.getColumns();   
            // 得到第一列,第一行的單元格(0,0)   
            for (int i = 0; i < rows; i++) {   
                for (int j = 0; j < cols; j++) {   
                    Cell cell = sheet.getCell(j, i);   
                    String result = cell.getContents();   
                    System.out.print("  " + result + "  ");   
                }   
                System.out.println();   
            }   
            book.close();   
        } catch (IOException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        } catch (BiffException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        }   
    }  </span> 

作者:wangbaoyin

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *