成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

POI技術(shù)—用于java開發(fā)解析excel的抽象類

xfee / 2669人閱讀

摘要:單元格各類型數(shù)據(jù)讀取基本類型處理的數(shù)據(jù)包括字符型數(shù)據(jù),數(shù)字日期公式等。下面是單元格類型說明實例解析中數(shù)據(jù),要求轉(zhuǎn)換為文本方式存儲寫一個解析的抽象類版本的版本的解析的文件格式有誤

1.單元格各類型數(shù)據(jù)讀取

1.1 基本類型

處理的Excel數(shù)據(jù)包括字符型數(shù)據(jù),數(shù)字、日期、公式等。

下面是單元格類型說明:

2實例
解析excel中數(shù)據(jù),要求轉(zhuǎn)換為文本方式存儲
2.1 寫一個excel解析的抽象類

  public abstract class ExcelParser {
            private String fileName;
            private InputStream inputStream;
        
            private final static String excel2003L = ".xls";//2003- 版本的excel
            private final static String excel2007U = ".xlsx";//2007+ 版本的excel
        
            protected final static DecimalFormat decimalFormat = new DecimalFormat("0");
            protected final static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
        
            protected final static String[] columnStr = new String[]{
                    "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
            };
               protected OrderExcelParser(String fileName, InputStream inputStream) {
                this.fileName = fileName;
                this.inputStream = inputStream;
            }
        
            protected Workbook getWorkbook() throws Exception {
                try {
                    String fileType = fileName.substring(fileName.lastIndexOf("."));
                    if (excel2003L.equals(fileType)) {
                        return new HSSFWorkbook(inputStream); //2003-
                    } else if (excel2007U.equals(fileType)) {
                        return new XSSFWorkbook(inputStream); //2007+
                    } else {
                        throw new Exception();
                    }
                } catch (Exception e) {
                    throw new Exception("解析的文件格式有誤!");
                }
            }
        
            protected abstract void parseTitles(int rowIndex) throws Exception;
        
            protected String getCellStringValue(Cell cell) throws Exception {
                String cellValue = "";
                if (cell == null) {
                    return cellValue;
                } else if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
                    cellValue = cell.getStringCellValue();
                } else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
                    if (HSSFDateUtil.isCellDateFormatted(cell)) {
                        double d = cell.getNumericCellValue();
                        Date date = HSSFDateUtil.getJavaDate(d);
                        cellValue = simpleDateFormat.format(date);
                    } else {
                        cellValue = decimalFormat.format((cell.getNumericCellValue()));
                    }
                } else if (cell.getCellType() == Cell.CELL_TYPE_BLANK) {
                    cellValue = "";
                } else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
                    cellValue = String.valueOf(cell.getBooleanCellValue());
                } else if (cell.getCellType() == Cell.CELL_TYPE_ERROR) {
                    cellValue = "";
                } else if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
                    cellValue = cell.getCellFormula();
                }
               
                return cellValue.trim();
            }
        }

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/67051.html

相關(guān)文章

  • 慕課網(wǎng)_《解密JAVA實現(xiàn)Excel導入導出》學習總結(jié)

    時間:2017年07月06日星期四說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學源碼:無學習源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 預備知識 基礎(chǔ)知識 struts2框架(上傳下載功能) xml解析技術(shù)(導入模板) JQuery EasyUI(前臺美觀) 課程目錄 實現(xiàn)方式 定制導入模版 導入文件 導...

    enrecul101 評論0 收藏0
  • Java 總結(jié)

    摘要:中的詳解必修個多線程問題總結(jié)個多線程問題總結(jié)有哪些源代碼看了后讓你收獲很多,代碼思維和能力有較大的提升有哪些源代碼看了后讓你收獲很多,代碼思維和能力有較大的提升開源的運行原理從虛擬機工作流程看運行原理。 自己實現(xiàn)集合框架 (三): 單鏈表的實現(xiàn) 自己實現(xiàn)集合框架 (三): 單鏈表的實現(xiàn) 基于 POI 封裝 ExcelUtil 精簡的 Excel 導入導出 由于 poi 本身只是針對于 ...

    caspar 評論0 收藏0
  • Excel大批量數(shù)據(jù)導入和導出,如何做優(yōu)化?

    摘要:并且在對的抽象中,每一行,每一個單元格都是一個對象。對支持使用官方例子需要繼承,覆蓋方法,每讀取到一個單元格的數(shù)據(jù)則會回調(diào)次方法。概要Java對Excel的操作一般都是用POI,但是數(shù)據(jù)量大的話可能會導致頻繁的FGC或OOM,這篇文章跟大家說下如果避免踩POI的坑,以及分別對于xls和xlsx文件怎么優(yōu)化大批量數(shù)據(jù)的導入和導出。一次線上問題這是一次線上的問題,因為一個大數(shù)據(jù)量的Excel導出...

    Tecode 評論0 收藏0
  • POI Sax 事件驅(qū)動解析Excel2007文件(較大數(shù)據(jù)量讀存導出)

    摘要:方式解析全稱,它是一個接口,也是一個軟件包。另外,推模型可用于廣播環(huán)境,能夠同時注冊多個,并行接收事件,而不是在一個管道中一個接一個地進行處理。這些語法分析器是最靈活的,因為它們還支持。 xcel2007版本的代碼如下,本文主要是用于POI解析大文件Excel容易出現(xiàn)內(nèi)存溢出的現(xiàn)象而提出解決方案,故此解決了大數(shù)據(jù)量的Excel文件解析的難度,在此拿出來貢獻給大家,謝謝! 1.Offic...

    cod7ce 評論0 收藏0
  • 簡單好用-JAVA使用POI解析Excel

    摘要:相信使用的目前已經(jīng)非常多了,我這邊提供一個非常簡單便利又通用的解析工具類,代碼最后有示例代碼??梢园凑毡疚闹苯邮褂?。 相信使用POI的目前已經(jīng)非常多了,我這邊提供一個非常簡單便利又通用的POI解析工具類,代碼最后有示例代碼??梢园凑毡疚闹苯邮褂?。 import java.io.FileInputStream; import java.io.FileNotFoundException; ...

    wangjuntytl 評論0 收藏0

發(fā)表評論

0條評論

xfee

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<