1. JXL瀵煎叆EXCEL鎬庝箞鍋,灝辨槸鏈鍩烘湰鐨,璇瘋︾粏鍐欎竴涓婮XL閰嶇疆鐨勬柟娉
JXL(java Excel API)鏄涓涓鐢ㄦ潵鍔ㄦ佽誨啓Excel鏂囦歡鐨勫紑婧愭嗘灦錛屽埄鐢ㄥ畠鍙浠ュ湪浠諱綍鏀鎸丣ava鐨勬搷浣滅郴緇熶笂鍔ㄦ佽誨啓Excel鏂囦歡銆侸XL鐨勪富欏墊槸錛http://www.andykhan.com/jexcelapi/錛屽彲浠ュ湪榪欓噷涓嬭澆鍒板畠鐨勬渶鏂扮殑鐗堟湰銆
浣犲彲浠ュ垎鍒閫氳繃濡備笅鍛戒護
java -jar jxl.jar -xml test.xls
java -jar jxl.jar -cvs test.xls
浠xml鍜宑vs鏍煎紡鏌ョ湅test.xls錛岃繖鏄鍥犱負JXL浣滆呭疄鐜頒簡涓涓鐢ㄦ潵婕旂ず鐨刯xl.demo.Demo鐨勭被銆
褰撶劧鎴戜滑浣跨敤琛岀紦JXL涓昏佹槸鐢ㄥ畠鏉ュ姩鎬佽誨啓Excel鏂囦歡銆傜幇鍦ㄥ氨鏉ョ湅鐪婮XL鍦ㄥ笶xcel鐨勮誨拰鍐欎笂閮芥彁渚涗簡閭d簺鏀鎸併
鍏堟潵鐪嬬湅Excel鏂囦歡涓閮芥湁鍐欎笂闈㈠硅薄
1 鏂囦歡瀵硅薄 2宸ヤ綔綈垮硅薄 3 鍗曞厓鏍煎硅薄銆
鐩稿簲鐨勫湪JXL涓灝辨湁Workbook錛孲heet 錛孋ell 銆傞氳繃榪欎笁涓瀵硅薄鎴戜滑灝卞彲浠ュ疄鐜癊xcel鏂囦歡鐨勮誨彇宸ヤ綔銆
鎴戜滑鍏堟兂鎯充竴涓嬭誨彇姝ラわ紝涓嶇℃槸浠涔堟牱鐨凟xcel鎿嶄綔綰璐ユ嗘灦蹇呭畾閮借佺粡鍘
1閫夊彇Excel鏂囦歡錛2閫夋嫨宸ヤ綔綈匡紝3閫夋嫨Cell錛4璇誨彇淇℃伅銆
閭d箞鐜板湪灝卞彲浠ョ湅鐪婮XL涓榪欏洓姝ラゅ備綍浣撶幇錛
//閫氳繃Workbook鐨勯潤鎬佹柟娉昰etWorkbook閫夊彇Excel鏂囦歡
Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));
//閫氳繃Workbook鐨刧etSheet鏂規硶閫夋嫨絎涓涓宸ヤ綔綈匡紙浠0寮濮嬶級
Sheet sheet = workbook.getSheet(0);
//閫氳繃Sheet鏂規硶鐨刧etCell鏂規硶閫夋嫨浣嶇疆涓篊2鐨勫崟鍏冩牸錛堜袱涓鍙傛暟閮戒粠0寮濮嬫。瑁ゆā錛
Cell c2 = sheet.getCell(2,1);
//閫氳繃Cell鐨刧etContents鏂規硶鎶婂崟鍏冩牸涓鐨勪俊鎮浠ュ瓧絎︾殑褰㈠紡璇誨彇鍑烘潵
String stringc2 = c2.getContents();
鍙浠ョ湅鍒版f槸鍒氭墠鎵璇寸殑鍥涗釜姝ラゃ
鎴戜滑閮界煡閬揈xcel鍗曞厓鏍兼槸鏈夋牸寮忕殑錛岄偅涔堣繖浜涗俊鎮濡備綍鍙栧緱銆
Cell鎻愪緵浜嗕竴涓猤etType鏂規硶鑳藉熻繑鍥炲崟鍏冩牸鐨勭被鍨嬩俊鎮錛屽悓鏃禞XL鎻愪緵浜嗕竴涓狢ellType綾葷敤鏉ラ勮綞xcel涓鐨勭被鍨嬩俊鎮錛岃屼笖JXL鎻愪緵浜嗕竴浜汣ell綾葷殑瀛愮被鐢ㄦ潵鍒嗗埆鐢ㄦ潵琛ㄧず鍚勭嶇被鍨嬬殑鍗曞厓鏍礆紝濡侺abelCell錛孨umberCell錛孌ateCell鍒嗗埆琛ㄧず瀛楃︺佹暟鍊箋佹棩鏈熺被鍨嬬殑鍗曞厓鏍箋傛墍浠ユ垜浠鍙浠ヨ繖鏍峰啓錛
if (c2.getType() == CellType.NUMBER)
{
NumberCell nc = (NumberCell) c2;
numberb2 = nc.getValue();
}
鏈鍚庝笉瑕佸繕璁板叧闂瓀orkbook浠ラ噴鏀捐祫婧愶細
workbook.close();
鐜板湪鎬葷粨涓涓:涓変釜瀵硅薄錛屽洓涓姝ラわ紝娉ㄦ剰鏍煎紡銆傚氨鍙浠ヨ交鏉劇殑浠嶦xcel鏂囦歡涓璇誨彇鏁版嵁銆
2. jxl (java excel api ) 讀取直接用公式計算出來的值是多少
jxl是打開excel格式的文件讀取單元格內容的,formula設置公式的單元格在沒有excel程序打開的情況下是不會自動計算的。
「他所讀出來的值都為4」4可能代表單元格的類型,公式類型。
可以使用Office的專用中間件SOAOffice來解決,編程簡單,讀取公式計算的值也沒問題
3. JAVA怎麼把導出的EXCEL放到只等的目錄下
不知道你實現excel導出的方式,但是比較流行的方法是採用jxl.jar提供的方法實現。舉個例子:
// 在path路徑下建立一個excel文件,其中path你就可以指定為d:\\export.xls
WritableWorkbook wbook = Workbook.createWorkbook(new File(path));
添加完裡面的單元格後:
// 寫入文件
wbook.write();
wbook.close();
在你指定的目錄下就會產生該文件。
eg.
public void createExcel(String path) {
try {
// 在path路徑下建立一個excel文件
WritableWorkbook wbook = Workbook.createWorkbook(new File(path));
// 創建一個工作表 第一個工作區
WritableSheet wsheet = wbook.createSheet("數據清單", 0);
// 設置excel里的字體
WritableFont wf = new WritableFont(WritableFont.ARIAL, 12,
WritableFont.NO_BOLD, false);
// 給標題規定字體的格式
WritableCellFormat titleFormat = new WritableCellFormat(wf);
String[] title = { "賬號", "密碼"};
// 設置表頭
for (int i = 0; i < title.length; i++) {
// 一列列的列印表頭 按照我們規定的格式
Label excelTitle = new Label(i, 0, title[i], titleFormat);
// 把標頭加到我們的工作區
wsheet.addCell(excelTitle);
}
Label account = new Label(0, 1, "銀彈小哥");
Label password = new Label(1, 1, "111111");
// 把值加到工作表中
wsheet.addCell(account);
wsheet.addCell(password);
// 寫入文件
wbook.write();
wbook.close();
System.out.println("創建成功!");
} catch (Exception e) {
// TODO: handle exception
}
}