java excel表格数据导入
jxl操作excel包括對(duì)象Workbook,Sheet?,Cell。
一個(gè)excel就對(duì)應(yīng)一個(gè)Workbook對(duì)象,
一個(gè)Workbook可以有多個(gè)Sheet對(duì)象
一個(gè)Sheet對(duì)象可以有多個(gè)Cell對(duì)象
讀取excel操作
通過(guò)Workbook,Sheet?,Cell這三個(gè)對(duì)象我們就可以實(shí)現(xiàn)Excel文件的讀取工作。
1、?選取Excel文件得到工作薄
2、?選擇工作表
3、?選擇Cell
4、?讀取信息
讀取工作薄
選取Excel文件得到工作薄Workbook
Workbook?workbook?=?Workbook.getWorkbook(new?File("test.xls"));
讀取工作表
通過(guò)Workbook的getSheet方法選擇第一個(gè)工作表(從0開(kāi)始)
Sheet?sheet?=?workbook.getSheet(0);
也可以通過(guò)工作的名稱來(lái)得到Sheet
讀取單元格
通過(guò)Sheet的getCell方法選擇位置為C1的單元格(兩個(gè)參數(shù)都從0開(kāi)始)
Cell?c1 =?sheet.getCell(0,0);
讀取單元格的值
通過(guò)Cell的getContents方法
把單元格中的信息以字符的形式讀取出來(lái)String str = c1.getContents();
Cell提供了一個(gè)getType方法(c1.getType() )
能夠返回單元格的類型信息,同時(shí)JXL提供了一個(gè)CellType類用來(lái)預(yù)設(shè)Excel中的類型信息,而且JXL提供了一些Cell類的子類用來(lái)分別用來(lái)表示各種類型的單元格,如LabelCell,NumberCell,DateCell分別表示字符、數(shù)值、日期類型的單元格
CellType.?LABEL? CellType.?DATE ? CellType.NUMBER
?以釋放資源:workbook.close()
當(dāng)你完成對(duì)Excel電子表格數(shù)據(jù)的處理后,一定要使用close()方法來(lái)關(guān)閉先前創(chuàng)建的對(duì)象,以釋放讀取數(shù)據(jù)表的過(guò)程中所占用的內(nèi)存空間,在讀取大量數(shù)據(jù)時(shí)顯得尤為重要
導(dǎo)入數(shù)據(jù)代碼
package?com.liu.servlet; import?java.io.IOException; import?javax.servlet.ServletException; import?javax.servlet.annotation.MultipartConfig; import?javax.servlet.annotation.WebServlet; import?javax.servlet.http.HttpServlet; import?javax.servlet.http.HttpServletRequest; import?javax.servlet.http.HttpServletResponse; import?javax.servlet.http.Part; import?jxl.Cell; import?jxl.Sheet; import?jxl.Workbook; import?jxl.read.biff.BiffException; @WebServlet("/uploadFile") @MultipartConfig public?class?UploadFileServlet?extends?HttpServlet{@Overrideprotected?void?doPost(HttpServletRequest?req,?HttpServletResponse?resp)throws?ServletException,?IOException?{req.setCharacterEncoding("utf-8");//獲取文件部件partPart?part?=?req.getPart("upfile");try?{Workbook?book=?Workbook.getWorkbook(part.getInputStream());Sheet?sheet=book.getSheet(0);?System.out.println(sheet.getColumns());System.out.println(sheet.getRows());for(int?i=0;i<sheet.getRows();i++){for(int?j=0;j<?sheet.getColumns?();j++){Cell?cell1=sheet.getCell(j,i);??String?result=cell1.getContents();??System.out.print(result+"??");}System.out.println();}book.close();?}?catch?(BiffException?e)?{//?TODO?Auto-generated?catch?blocke.printStackTrace();}} }轉(zhuǎn)載于:https://blog.51cto.com/liuyj/1588460
總結(jié)
以上是生活随笔為你收集整理的java excel表格数据导入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java的Scanner类的next与n
- 下一篇: STL笔记(4)关于erase,remo