java 操作 excel

jxl.jar下載地址:

http://sourceforge.net/project/showfiles.php?group_id=79926
1.
import jxl.Sheet;
import java.io.InputStream;
import java.util.Vector;
import java.io.FileInputStream;
import jxl.Workbook;

public class Test2 {
    public static void main(String [] args){
     ReadExcel("c://20060818104025_50101_Merchant.xls");
    }
    public Test2() {
    }
    /*
* 方法名:ReadExcel
* 參數:filePath爲Execl文件的絕對路徑
* 用途:讀取Execl數據,放在數組中返回
*返回類型:Vector
*
* */
public static Vector ReadExcel(String filePath)
{
Vector v = new Vector();
Workbook rwb = null;
try
{
 InputStream is = new FileInputStream(filePath);
 rwb = Workbook.getWorkbook(is);
 // 獲取第一張Sheet表
 Sheet rs = rwb.getSheet(0);
 for (int k = 0; k < rs.getRows(); k++)
 {
 for (int j = 0; j < rs.getColumns(); j++)
 {
 System.out.println(rs.getCell(j, k).getContents());
 v.add(rs.getCell(j, k).getContents());
 }
 }
 rwb.close();
}
catch (Exception e)
{
 e.printStackTrace();
}
return v;
}

}

2.

public class Test1 {
  public static void main(String[] args) {
    jxl.Workbook rwb = null;
    try{
      //構建Workbook對象, 只讀Workbook對象
      //直接從本地文件創建Workbook
      //從輸入流創建Workbook
      InputStream is = new FileInputStream("E:/project/test/jxlrwtest.xls");
      rwb = Workbook.getWorkbook(is);

      //Sheet(術語:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中
      //Sheet的下標是從0開始
      //獲取第一張Sheet表
       Sheet rs = rwb.getSheet(0);
       //獲取Sheet表中所包含的總列數
       int rsColumns = rs.getColumns();
       //獲取Sheet表中所包含的總行數
       int rsRows = rs.getRows();
       //獲取指定單元格的對象引用
       for(int i=0;i<rsRows;i++){
         for(int j=0;j<rsColumns;j++){
           Cell cell = rs.getCell(j,i);
           System.out.print(cell.getContents()+" ");
         }
         System.out.println();
       }
       //利用已經創建的Excel工作薄創建新的可寫入的Excel工作薄
       jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File("E:/project/test/test2.xls"),rwb);
       //讀取第一張工作表
       jxl.write.WritableSheet ws = wwb.getSheet(0);

       //獲得第一個單元格對象
       jxl.write.WritableCell wc = ws.getWritableCell(0, 0);
       //判斷單元格的類型, 做出相應的轉化
       if (wc.getType() == CellType.LABEL) {
         Label l = (Label) wc;
         l.setString("The value has been modified.");
       }
       //寫入Excel對象
       wwb.write();
       wwb.close();

    }catch(Exception e){
      e.printStackTrace();
    }
    finally{
      //操作完成時,關閉對象,釋放佔用的內存空間
      rwb.close();

    }
  }
 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章