亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

java poi 導入excel

2019-11-15 00:30:50
字體:
來源:轉載
供稿:網友
java poi 導入Excel

最近項目需要導入excel,網上有很多例子,自己整合記錄下,兼容2003和2007,暫時沒有添加圖片處理功能。

所需jar包 http://pan.baidu.com/s/1sjPuWDR

package example.poi;import java.io.*;import java.text.DecimalFormat;import org.apache.poi.hssf.usermodel.*;import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.*;public class ImportExcel {   PRivate Workbook wb = null; private Sheet sheet = null; private Row row = null; private int sheetNum = 0; private int rowNum = 0; private FileInputStream fis = null; private File file = null; private DecimalFormat df = new DecimalFormat("0"); public ImportExcel() {  super(); } public void setSheetNum(int sheetNum) {  this.sheetNum = sheetNum; } public void setRowNum(int rowNum) {  this.rowNum = rowNum; } public void setFile(File file) {  this.file = file; } /**  * 讀取excel文件獲得HSSFWorkbook對象  * @throws IOException  */ public void open(String filePath) throws IOException {  if(validateExcel(filePath)) {   file = new File(filePath);   fis = new FileInputStream(file);   if(isExcel2003(filePath)) {    wb = new HSSFWorkbook(fis);   } else {    wb = new XSSFWorkbook(fis);   }   fis.close();  } }   /**  * 獲取sheet表數目  * @return sheet表數目  */ public int getSheetCount() {  int sheetCount = -1;  sheetCount = wb.getNumberOfSheets();  return sheetCount; }   /**  * 獲取sheetNum下的記錄行數  * @return 記錄行數  */ public int getRowCount() {  if(wb == null) {   System.err.println("----------->WorkBook為空");  }  Sheet sheet = wb.getSheetAt(this.sheetNum);  int rowCount = -1;  rowCount = sheet.getLastRowNum();  return rowCount; }   /**  * 獲取指定sheetNum的記錄行數  * @param sheetNum 表編號  * @return 記錄行數  */ public int getRowCount(int sheetNum) {  Sheet sheet = wb.getSheetAt(sheetNum);  int rowCount = -1;  rowCount = sheet.getLastRowNum();  return rowCount; }   /**  * 得到指定行的內容  * @param lineNum 行數  * @return 內容  */ public String[] readExcelLine(int lineNum) {  return readExcelLine(this.sheetNum, lineNum); }   /**  * 獲取指定工作表和行數的內容  * @param sheetNum 表編號  * @param lineNum 行數  * @return 內容  */ public String[] readExcelLine(int sheetNum, int lineNum) {  if(sheetNum < 0 || lineNum < 0) {   return null;  }  String[] strExcelLine = null;  try {   sheet = wb.getSheetAt(sheetNum);   row = sheet.getRow(lineNum);       int cellCount = row.getLastCellNum();   strExcelLine = new String[cellCount + 1];   for(int i = 0; i <= cellCount; i++) {    strExcelLine[i] = readStringExcelCell(lineNum, i);   }  } catch (Exception e) {   e.printStackTrace();  }  return strExcelLine; }   /**  * 獲取指定列的內容  * @param cellNum 列編號  * @return 內容  */ public String readStringExcelCell(int cellNum) {  return readStringExcelCell(this.rowNum, cellNum); }   /**  * 獲取指定行和列編號的內容  * @param rowNum 行編號  * @param cellNum 列編號  * @return 內容  */ public String readStringExcelCell(int rowNum, int cellNum) {  return readStringExcelCell(this.sheetNum, rowNum, cellNum); }   /**  * 獲取指定工作表、行、列的內容  * @param sheetNum 表編號  * @param rowNum 行編號  * @param cellNum 列編號  * @return 內容  */ public String readStringExcelCell(int sheetNum, int rowNum, int cellNum) {  if(sheetNum < 0 || rowNum < 0) {   return "";  }  String strExcelCell = "";  try {   sheet = wb.getSheetAt(sheetNum);   row = sheet.getRow(rowNum);       if(row.getCell(cellNum) != null) {    switch(row.getCell(cellNum).getCellType()) {    case HSSFCell.CELL_TYPE_FORMULA:     strExcelCell = "FORMULA";     break;    case HSSFCell.CELL_TYPE_NUMERIC:     //strExcelCell = String.valueOf(row.getCell(cellNum).getNumericCellValue());     //防止科學計數,不需要的話可以用上一行     strExcelCell = decimalFormat(row.getCell(cellNum).getNumericCellValue());     break;    case HSSFCell.CELL_TYPE_STRING:     strExcelCell = row.getCell(cellNum).getStringCellValue();     break;    case HSSFCell.CELL_TYPE_BLANK:     strExcelCell = "";     break;    default:     strExcelCell = "";     break;    }   }  } catch (Exception e) {   e.printStackTrace();  }  return strExcelCell; }   /**  * 測試  * @param args  */ public static void main(String[] args) {  String filePath = "C://Users//Administrator//Desktop//工作簿1.xlsx";  ImportExcel ie = new ImportExcel();  try {   ie.open(filePath);  } catch (IOException e) {   e.printStackTrace();  }  ie.setSheetNum(0);  int count = ie.getRowCount();  for (int i = 0; i <= count; i++) {   String[] rows = ie.readExcelLine(i);   for (int j = 0; j < rows.length; j++) {    System.out.print(rows[j] + " ");   }   System.out.print("/n");  } }   /**  * 驗證文件是否存在以及是否是excel文件  * @param filePath  * @return 結果  */ public boolean validateExcel(String filePath) {  if(filePath == null || ! (isExcel2003(filePath) || isExcel2007(filePath))) {   System.err.println("文件不是excel文件!");   return false;  }  File file = new File(filePath);  if(file == null || ! file.exists()) {   System.err.println("文件不存在!");   return false;  }  return true; }   /**  * 判斷是否是2003版excel  * @param filePath 文件路徑  * @return 結果  */ public boolean isExcel2003(String filePath) {  return filePath.matches("^.+//.(?i)(xls)$"); }   /**  * 判斷是否是2007版excel  * @param filePath 文件路徑  * @return 結果  */ public boolean isExcel2007(String filePath) {  return filePath.matches("^.+//.(?i)(xlsx)$"); }   /**  * 將獲取到的數據類型轉換成String防止科學計數法  * @param decimal 數據  * @return 結果  */ public String decimalFormat(Double decimal) {  return df.format(decimal); }}

內容借鑒:

http://download.csdn.net/detail/wangquanzheng/3526296

http://blog.csdn.net/mmm333zzz/article/details/7962377


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线精品91av| 久久精品久久精品亚洲人| 久久精品国产久精国产一老狼| 中文字幕久久久av一区| 久久韩剧网电视剧| 国产一区二区在线播放| 国产精品青青在线观看爽香蕉| 亚洲第一区第一页| 国产丝袜一区二区三区| 欧美多人爱爱视频网站| 萌白酱国产一区二区| 精品一区二区三区三区| 亚洲jizzjizz日本少妇| 91精品国产综合久久男男| 欧美日韩美女视频| 一区二区三区回区在观看免费视频| 久久69精品久久久久久国产越南| 3344国产精品免费看| 在线播放国产一区二区三区| 欧美成人免费一级人片100| 国产精品香蕉在线观看| 亚洲综合自拍一区| 中文字幕亚洲一区二区三区| 欧美性猛xxx| 久久久久久久久久久91| 91地址最新发布| 午夜精品久久久久久久男人的天堂| 国产精品视频99| 久久久久中文字幕2018| 亚洲2020天天堂在线观看| 国产精品一久久香蕉国产线看观看| 欧美综合在线观看| 中文字幕成人在线| 丝袜亚洲欧美日韩综合| 日韩视频免费观看| 久久精品最新地址| 日韩高清电影免费观看完整版| 国产精品va在线播放我和闺蜜| 成人美女av在线直播| 伊人一区二区三区久久精品| 亚洲乱亚洲乱妇无码| 亚洲欧美中文字幕在线一区| 国产精品激情av电影在线观看| 亚洲新声在线观看| 91国产中文字幕| 亚洲欧洲日产国产网站| 国产精品久久久久久一区二区| www.亚洲人.com| 欧美成在线视频| www.日韩欧美| 国产精品白丝av嫩草影院| 亚洲成人av在线播放| 久久天天躁狠狠躁夜夜躁| 国产一区二区三区在线免费观看| 欧美性视频精品| www.亚洲男人天堂| 亚洲欧美一区二区三区情侣bbw| 久久精品视频va| 91色p视频在线| 欧美在线视频网站| 国产精品久久久久91| 国产综合福利在线| 久热精品视频在线| 国产色视频一区| 日本高清视频一区| 亚洲在线免费观看| 亚洲a成v人在线观看| 欧美午夜无遮挡| 欧美大全免费观看电视剧大泉洋| 欧美交受高潮1| 欧美午夜久久久| 国产午夜精品全部视频播放| www.久久草.com| 国产亚洲精品美女久久久久| 国产精品美女av| 亚洲国产91精品在线观看| 亚洲激情视频在线播放| 亚洲欧美日韩中文视频| 日韩动漫免费观看电视剧高清| 欧美视频专区一二在线观看| 亚洲国产精品电影| 国产精品a久久久久久| 欧美日韩亚洲视频| 久久精品成人欧美大片古装| 久久久亚洲成人| 欧美第一黄色网| 97国产精品免费视频| 91九色国产社区在线观看| 日产精品99久久久久久| 美女少妇精品视频| 不卡av在线网站| 亚洲精品一区二区网址| 美女av一区二区| 69**夜色精品国产69乱| 午夜精品久久17c| 中文字幕在线看视频国产欧美| 国产精品免费福利| 亚洲欧美变态国产另类| 国产在线观看91精品一区| 精品露脸国产偷人在视频| 国产精品亚发布| 欧美激情视频三区| 国产亚洲精品一区二区| 国产精品偷伦视频免费观看国产| 亚洲欧美在线免费观看| 久久久久久久久久久亚洲| 一本色道久久综合狠狠躁篇怎么玩| 亚洲成人网久久久| 奇米4444一区二区三区| 欧美—级高清免费播放| 午夜精品一区二区三区在线视频| 亚洲91精品在线观看| 精品人伦一区二区三区蜜桃免费| 亚洲精品自产拍| 日韩经典一区二区三区| 国产精品久久网| 国产精品久久久久影院日本| 久久精品视频99| 国产日本欧美一区二区三区| 国产精品网址在线| 久久免费国产视频| 亚洲成人精品视频在线观看| 国产免费一区视频观看免费| 3344国产精品免费看| 亚洲人a成www在线影院| 久久精品国产亚洲一区二区| 久热在线中文字幕色999舞| 成人福利在线视频| 这里只有精品视频在线| 伊人av综合网| 精品国产一区二区三区久久久| 黄色精品在线看| 91亚洲精华国产精华| xvideos亚洲| 亚洲美女自拍视频| 自拍偷拍免费精品| 亚洲精品久久久久久下一站| 欧美一级免费看| 久久久久久av| 欧美亚洲午夜视频在线观看| 欧美精品久久久久久久免费观看| 精品毛片网大全| 日韩风俗一区 二区| 韩国视频理论视频久久| 日韩精品中文字幕有码专区| 九九热精品在线| 亚洲人成网站777色婷婷| 最近2019好看的中文字幕免费| 中文字幕在线观看亚洲| 精品成人在线视频| 九色成人免费视频| 欧美日本黄视频| 国产精品一区专区欧美日韩| 精品国产91久久久| 成人免费观看a| 成人在线中文字幕| www.欧美精品| 国产精品国产福利国产秒拍| 夜夜躁日日躁狠狠久久88av| 午夜精品一区二区三区在线播放| 午夜精品在线观看| 91黑丝高跟在线| 久久国产精品久久久久| 91av在线视频观看|