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

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

2004年11月11日

2019-11-18 11:25:11
字體:
來源:轉載
供稿:網友

最近因為項目需要,寫了一個javaExcel文件的例子,里面有對日期和對公式的讀取,開始的時候還真的費了不少的工夫呢,呵呵。后來知其然了之后,總算略有小成,姑且貼出來與大家共享。

不過目前還是有一個waring:就是讀取merge型數據的時候報[WARNING] Unknown Ptg 2d (45) 不知誰有解決的辦法,我先扔塊磚,有玉的盡管砸過來就是了。

 

package com.zzxy.model;

import java.io.FileInputStream;

import java.io.FileOutputStream;

 

import java.text.DecimalFormat;

 

import java.util.Date;

import org.apache.poi.hssf.record.FormulaRecord;

import org.apache.poi.hssf.record.formula.AreaPtg;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import org.apache.poi.hssf.usermodel.HSSFDateUtil;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

//import org.apache.poi.hssf.usermodel.HSSFDataFormat;

import org.apache.poi.hssf.record.CalcCountRecord;

 

/**

 *

 * author

 *

 * java讀取excel文件

 *

 * 一個Excel文件的層次:Excel文件->工作表->行->單元格 對應到POI中,為:workbook->sheet->row->cell

 * 

 */

public class POItest {

 

 public static String outputFile = "c://Temp//test.xls";

 

 public static String fileToBeRead = "c://Temp//test.xls";

 

 public void CreateExcel() {

  try {

   // 創建新的Excel 工作簿

   HSSFWorkbook workbook = new HSSFWorkbook();

   // 在Excel工作簿中建一工作表,其名為缺省值

   // 如要新建一名為"效益指標"的工作表,其語句為:

   // HSSFSheet sheet = workbook.createSheet("效益指標");

   HSSFSheet sheet = workbook.createSheet();

   // 在索引0的位置創建行(最頂端的行)

   HSSFRow row = sheet.createRow((short) 0);

   //在索引0的位置創建單元格(左上端)

   HSSFCell cell = row.createCell((short) 0);

   // 定義單元格為字符串類型

   cell.setCellType(HSSFCell.CELL_TYPE_STRING);

   // 在單元格中輸入一些內容

   cell.setCellValue("sweater");

   // 新建一輸出文件流

   FileOutputStream fOut = new FileOutputStream(outputFile);

   // 把相應的Excel 工作簿存盤

   workbook.write(fOut);

   fOut.flush();

   // 操作結束,關閉文件

   fOut.close();

   System.out.

 

  } catch (Exception e) {

   System.out.println("已運行 xlCreate() : " + e);

  }

 }

 

 /**

  * 讀取excel,遍歷各個小格獲取其中信息,并判定其是否是手機號碼,并對正確的手機號碼進行顯示

  *

  * 注重: 1.sheet, 以0開始,以workbook.getNumberOfSheets()-1結束

  *       2.row,以0開始(getFirstRowNum),以getLastRowNum結束

  *       3.cell,以0開始(getFirstCellNum),以getLastCellNum結束, 結束的數目不知什么原因與顯示的長度不同,可能會偏長

  */

 public void readExcel() {

  //將被表示成1.3922433397E10的數轉化為13922433397

  //DecimalFormat df = new DecimalFormat("#");

 

  try {

   // 創建對Excel工作簿文件的引用

   HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(

     fileToBeRead));

//System.out.println("===SheetsNum===" + workbook.getNumberOfSheets());//獲取sheet數

   for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++) {

    if (null != workbook.getSheetAt(numSheets)) {

     HSSFSheet aSheet = workbook.getSheetAt(numSheets);//獲得一個sheet

     if(!aSheet.isDisplayFormulas())//判定是顯示aSheet中公式的值

         aSheet.setDisplayFormulas(true);

//System.out.println("+++getFirstRowNum+++" + aSheet.getFirstRowNum());

//System.out.println("+++getLastRowNum+++" + aSheet.getLastRowNum());

 

     for (int rowNumOfSheet = 0; rowNumOfSheet <= aSheet

       .getLastRowNum(); rowNumOfSheet++) {

      if (null != aSheet.getRow(rowNumOfSheet)) {

       HSSFRow aRow = aSheet.getRow(rowNumOfSheet);

 

//System.out.println(">>>getFirstCellNum<<<"+aRow.getFirstCellNum());

//System.out.println(">>>getLastCellNum<<<"+aRow.getLastCellNum());

       for (short cellNumOfRow = 0; cellNumOfRow <= aRow

         .getLastCellNum(); cellNumOfRow++) {

//System.out.println(">>>rowNumOfSheet<<<"+rowNumOfSheet);

//System.out.println(">>>cellNumOfRow<<<"+cellNumOfRow);

        if (null != aRow.getCell(cellNumOfRow)) {

         HSSFCell aCell = aRow.getCell(cellNumOfRow);

         int cellType = aCell.getCellType();

         switch (cellType) {

         case HSSFCell.CELL_TYPE_NUMERIC://Numeric

          String strCell =String.valueOf(aCell.getNumericCellValue()); 

         if(HSSFDateUtil.isCellDateFormatted(aCell))

          {

            //double sa = aCell.getNumericCellValue();

            //Date dd = HSSFDateUtil.getJavaDate(sa);

            //HSSFDataFormat tt = new HSSFDataFormat(workbook);

            //dd.toString();

System.out.println(aCell.getDateCellValue());

          }

        else

System.out.println(strCell); 

          break;

         case HSSFCell.CELL_TYPE_STRING://String

          strCell = aCell.getStringCellValue();

System.out.println(strCell);

         break;

         case HSSFCell.CELL_TYPE_FORMULA://formula

          //strCell =aCell.getCellFormula();

          strCell = String.valueOf(aCell.getNumericCellValue());

System.out.println(strCell);

         break;

         case HSSFCell.CELL_TYPE_BLANK://blank

          strCell = aCell.getStringCellValue();

System.out.println(strCell);

        break;

         default:

System.out.println("----------------格式讀入不正確!");//其它格式的數據

         }

        }

 

       }

      }

 

     }

 

    }

System.out.println("http://////////////////////////////sheet  end///////////////////////////////////////////");

   }

 

  } catch (Exception e) {

   System.out.println("ReadExcelError" + e);

  }

 

 }

 

 //閱讀指定行和列的單元格的值,注重:行、列下標是從0開始的

  public void getSpecial(short numRow ,short numCol) {

  try {

   // 創建對Excel工作簿文件的引用

   HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));

    if (null != workbook.getSheetAt(0)) {

     HSSFSheet aSheet = workbook.getSheetAt(0);//獲得一個sheet

      if (null != aSheet.getRow(numRow)) {

       HSSFRow aRow = aSheet.getRow(numRow);

        if (null != aRow.getCell(numCol)) {

         HSSFCell aCell = aRow.getCell(numCol);

         int cellType = aCell.getCellType();

         switch (cellType) {

         case 0://Numeric

          String strCell =String.valueOf(aCell.getNumericCellValue());

         if(HSSFDateUtil.isCellDateFormatted(aCell))

System.out.println("00000000000000000"+aCell.getDateCellValue());

          else

System.out.println(strCell); 

          break;

         case 1://String

          strCell = aCell.getStringCellValue();

System.out.println("111111111111111111"+strCell);

         break;

         case 2://formula

          aSheet.setDisplayFormulas(true);

          strCell = String.valueOf(aCell.getNumericCellValue());

System.out.println("2222222222222222222"+strCell);

        break;

         case 3://blank

          strCell = aCell.getStringCellValue();

System.out.println("3333333333333333333"+strCell);

        break;

         default:

System.out.println("----------------格式讀入不正確!");//其它格式的數據

         }

        }

      }

 

    }

 

 

  } catch (Exception e) {

   System.out.println("ReadExcelError" + e);

  }

 

 }

 

  public static void main(String[] args) {

  POItest poi = new POItest();

  //poi.CreateExcel();

  poi.readExcel();

  poi.getSpecial((short)4,(short)4);//第五行第五列的數據值

 }

}

 



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品色欧美aⅴ一区二区| 国产欧美日韩91| 中文字幕精品网| 2023亚洲男人天堂| 国产精品扒开腿爽爽爽视频| 久久久久久久久久av| 亚洲成色777777女色窝| 欧美精品中文字幕一区| 亚洲一区二区久久久久久| 欧美激情啊啊啊| 欧美华人在线视频| 清纯唯美日韩制服另类| 韩国福利视频一区| 亚洲人成网站999久久久综合| 性欧美长视频免费观看不卡| 久久久久在线观看| 国产69精品久久久久9| 精品久久香蕉国产线看观看gif| 亚洲激情电影中文字幕| 久久偷看各类女兵18女厕嘘嘘| 亚洲国产精品va在线观看黑人| 亚洲视频999| 国产在线观看91精品一区| 色悠久久久久综合先锋影音下载| 国产成人涩涩涩视频在线观看| 久久久久久中文| 国产午夜精品免费一区二区三区| 日本午夜精品理论片a级appf发布| 不卡av日日日| 8050国产精品久久久久久| 亚洲加勒比久久88色综合| 国产精品69久久久久| 亚洲综合在线做性| 亚洲bt欧美bt日本bt| 国产精品视频网址| 最近2019中文字幕mv免费看| 自拍视频国产精品| 粉嫩老牛aⅴ一区二区三区| 2021久久精品国产99国产精品| 欧美高清视频在线播放| 亚洲深夜福利在线| 国产欧美一区二区三区视频| 午夜精品美女自拍福到在线| 亚洲欧美日韩视频一区| 亚洲女人天堂av| 亚洲а∨天堂久久精品9966| 夜色77av精品影院| 538国产精品一区二区在线| 欧美怡红院视频一区二区三区| 日本高清不卡在线| 欧美亚洲免费电影| 国产精品极品在线| 成人久久18免费网站图片| 日韩欧美成人区| 欧美成aaa人片免费看| 欧美日韩国产综合视频在线观看中文| 国产亚洲欧洲黄色| 红桃视频成人在线观看| 欧美做受高潮1| 欧美久久精品一级黑人c片| 国产精品欧美日韩一区二区| 国产精品久久久久久久久粉嫩av| 亚洲欧洲中文天堂| 亚洲成人av片在线观看| 91成人国产在线观看| 成人激情视频小说免费下载| 亚洲综合视频1区| 色婷婷av一区二区三区久久| 国产欧美一区二区三区在线看| 成人高h视频在线| 欧美成人免费va影院高清| 欧美一区二区三区四区在线| 日韩欧美国产一区二区| 中文欧美日本在线资源| 欧美激情免费视频| 91av在线播放| 一区二区三区天堂av| 欧美精品videosex性欧美| 欧美自拍视频在线| 3344国产精品免费看| 91九色在线视频| 亚洲一区久久久| www.日韩不卡电影av| 国产精品揄拍一区二区| 亚洲女性裸体视频| 日韩在线中文视频| 国产精品一区二区久久| 亚洲人精选亚洲人成在线| 国产a∨精品一区二区三区不卡| 国产成人精品一区二区在线| 国产亚洲精品久久久久久牛牛| 日韩麻豆第一页| 国产精品吴梦梦| 精品性高朝久久久久久久| 久久激情视频免费观看| 色婷婷久久一区二区| 欧美亚洲视频在线看网址| 亚洲2020天天堂在线观看| 欧美成在线视频| 亚洲第一网站免费视频| 国产日韩欧美夫妻视频在线观看| 日韩成人在线免费观看| 91老司机在线| 日韩精品福利网站| 日韩欧美在线视频观看| 欧美性xxxxxx| 久久亚洲国产精品| 不卡av在线网站| 国产精品夜色7777狼人| 亚洲伊人久久大香线蕉av| 国产成人avxxxxx在线看| 欧美精品在线极品| 在线观看精品国产视频| 超在线视频97| 91九色国产视频| 美女国内精品自产拍在线播放| 最近中文字幕mv在线一区二区三区四区| 亚洲成人aaa| 精品久久久久人成| 97精品国产97久久久久久春色| 国产精品美女主播在线观看纯欲| www.xxxx欧美| 国产手机视频精品| 国产精品日韩欧美综合| 国产精品久久久久久婷婷天堂| 亚洲成色777777女色窝| 亚洲国产小视频| 精品视频在线导航| 国产成人一区二区三区| wwwwwwww亚洲| 中文字幕精品www乱入免费视频| 中文字幕久热精品在线视频| 久久久国产在线视频| 久久久久久久久久国产| 国产色综合天天综合网| 日本亚洲欧美成人| 国产欧美精品一区二区三区-老狼| 久久精品久久久久久国产 免费| 亚洲人a成www在线影院| 欧美另类在线播放| 亚洲人a成www在线影院| 国产91在线播放精品91| 91在线视频导航| 国产精品美女视频网站| 92看片淫黄大片欧美看国产片| 日韩欧美在线第一页| 2019av中文字幕| 亚洲精品欧美日韩| 亚洲三级免费看| 国产中文日韩欧美| 欧美疯狂xxxx大交乱88av| 国内成人精品一区| 日韩在线观看免费| 97国产成人精品视频| 久久精品中文字幕免费mv| 欧美成人性生活| 国产日韩欧美中文| 色综合久久88色综合天天看泰| 日本久久久久久久久久久| 狠狠色狠狠色综合日日小说| 亚洲女人天堂网| 欧美老女人性生活| 在线观看亚洲视频| 超碰97人人做人人爱少妇|