在Java中讀取Excel文件的內(nèi)容
發(fā)表時(shí)間:2023-07-30 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]可隨意轉(zhuǎn)載,但請注明出處及作者SonyMusic2003.05.15=================================================================...
可隨意轉(zhuǎn)載,但請注明出處及作者
SonyMusic
2003.05.15
==========================================================================
在Java中讀取Excel文件的內(nèi)容
在這里,我使用的是一個(gè)叫Java Excel API的東西,類似的還有jakarta的POI,不過感覺那個(gè)
太復(fù)雜了點(diǎn)兒。而且jxl對中文的支持相當(dāng)?shù)暮,至少我在用的過程中一點(diǎn)問題沒出。
一、下載地址
http://www.andykhan.com/jexcelapi/
二、特性
可以讀取Excel 95, 97, 2000文件
可以讀或?qū)慐xcel 97及其以后版本的的公式(不過我發(fā)現(xiàn)好像有bug)
生成Excel 97格式的電子表格
支持字體、數(shù)字和日期格式化
支持單元格的顏色和陰影
可以編輯現(xiàn)有的文件
三、讀文件
//聲明一下,記得后面要關(guān)閉哦。。
Workbook workbook = null;
try {
workbook = Workbook.getWorkbook(new File("d:\\temp\\TestRead.xls"));
} catch (Exception e) {
throw new Exception("file to import not found!");
}
Sheet sheet = workbook.getSheet(0);
Cell cell = null;
int columnCount=3;
int rowCount=sheet.getRows();
for (int i = 0; i <rowCount; i++) {
for (int j = 0; j <columnCount; j++) {
//注意,這里的兩個(gè)參數(shù),第一個(gè)是表示列的,第二才表示行
cell=sheet.getCell(j, i);
//要根據(jù)單元格的類型分別做處理,否則格式化過的內(nèi)容可能會不正確
if(cell.getType()==CellType.NUMBER){
System.out.print(((NumberCell)cell).getValue());
}
else if(cell.getType()==CellType.DATE){
System.out.print(((DateCell)cell).getDate());
}
else{
System.out.print(cell.getContents());
}
//System.out.print(cell.getContents());
System.out.print("\t");
}
System.out.print("\n");
}
//關(guān)閉它,否則會有內(nèi)存泄露
workbook.close();