Java使用jxl對excel文件進行簡單的讀寫

jxl的Jar包下載地址:百度網盤


import java.io.File;
import java.io.IOException;

import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCellFeatures;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

/**
 * 
 * 2014年12月30日 下午7:16:14
 * @author sunfeilong1993
 * 簡介:利用jxl實現簡單的從excel文件中讀取數據和那數據寫入到excel文件中
 * 
 */

public class ExcelInputAndOutput {
	public static void main(String[] args) {
		writeToFile();
		readFromFile();
	}
	
	
	//readFromFile
	public static void readFromFile(){
		File file = new File("d:/test.xls");
		StringBuffer sb = new StringBuffer();
		try {
			
			Workbook book = Workbook.getWorkbook(file);
			try{
				
				Sheet sheet = book.getSheet(0);
				for(int i = 0 ; i < 10 ; i++){
					for(int j = 0 ; j < 10 ; j++){
						//第一個參數代表列,第二個參數代表行。(默認起始值都爲0)
						sb.append(sheet.getCell(j, i).getContents()+"\t");
					}
					sb.append("\n");
				}
				System.out.println(sb);
			}finally{
				if(book != null){
					book.close();
				}
			}
			
		} catch (BiffException e) {
			System.err.println(e+"");
		} catch (IOException e) {
			System.err.println(e+"文件讀取錯誤");
		}
	}//end readFromFile
	
	//witeToFile
	public static void writeToFile(){
		File file = new File("d:/test.xls");
		try {
			
			WritableWorkbook book = Workbook.createWorkbook(file);
			//創建一個工作區。(默認的excel文件有三個sheet,在excel的左下角可以看到sheet1/sheet2/sheet3)
			WritableSheet sheet = book.createSheet("第一頁", 0);
			//在工作區上面添加內容
			try {
				for(int i = 0; i < 10 ; i ++ ){
					for(int j = 0 ; j < 10 ; j++){
						Label newLabel;
						if(0 == i){
							//第一個參數代表列,第二個參數代表行(默認起始值都爲0),第三個參數是要在單元格里面填寫的內容發
							newLabel = new Label(j,i,String.valueOf(j));
						}else if(0 == j){
							newLabel = new Label(j,i,String.valueOf(i));
						}else{
							newLabel = new Label(j,i,String.valueOf(i*j));
						}
						//在單元格上面添加註釋
						WritableCellFeatures cellFeatures = new WritableCellFeatures();
						cellFeatures.setComment("這裏是"+i+"*"+j+"的值");
						newLabel.setCellFeatures(cellFeatures);
						sheet.addCell(newLabel);
					}
				}
			} catch (RowsExceededException e) {
				System.err.println(e+"行或列參數錯誤!");
			} catch (WriteException e) {
				System.err.println(e+"寫入失敗");
			}finally{
				if(book != null){
					book.write();
					try {
						book.close();
					} catch (WriteException e) {
						System.err.println(e+"文件關閉失敗!");
					}
				}
			}
			
		} catch (IOException e) {
			System.err.println(e+"創建文件失敗!");
		}
	}
	
	
}


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