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
}
}