国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

解析excel表格的數(shù)據(jù)放入List中

freecode / 2963人閱讀

摘要:文件路徑文件名開始行號從開始開始列號從開始型小數(shù)據(jù)點保留位數(shù),如從開始取得最后一行的行號行循環(huán)開始行中間如果有空行,則退出每行的最后一個單元格位置列循環(huán)開始解析文件出錯為一個類封裝了頁面的參數(shù)如下說明參數(shù)封裝創(chuàng)建人修改時間年月日多參數(shù)列表

/**
     * 
     * @param filepath 文件路徑
     * @param filename 文件名
     * @param startrow 開始行號 從0開始
     * @param startcol 開始列號 從0開始
     * @param sheetnum sheet
     * @param format double型小數(shù)據(jù)點保留位數(shù),如: #.##
     * @return
     */
    public static List readExcel(String filepath, String filename, int startrow, int startcol, int sheetnum, String format) throws Exception {
        List varList = new ArrayList();

        try {
            HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(new File(filepath, filename)));
            HSSFSheet sheet = workbook.getSheetAt(sheetnum);                     //sheet 從0開始
            int rowNum = sheet.getLastRowNum() + 1;                     //取得最后一行的行號

            for (int i = startrow; i < rowNum; i++) {                    //行循環(huán)開始
                PageData varpd = new PageData();
                HSSFRow row = sheet.getRow(i);                             //行
                if(row==null) break; //中間如果有空行,則退出
                int cellNum = row.getLastCellNum();                     //每行的最后一個單元格位置

                for (int j = startcol; j < cellNum; j++) {                //列循環(huán)開始
                    HSSFCell cell = row.getCell(Short.parseShort(j + ""));
                    String cellValue = getCellValue(cell, format);
                    varpd.put("var"+j, cellValue);
                }
                varList.add(varpd);
            }
            workbook.close();
        } catch (Exception e) {
            logger.error("解析Excel文件出錯", e);
            throw e;
        }
        return varList;
    }

PageData為一個類封裝了頁面的參數(shù):如下

/** 
 * 說明:參數(shù)封裝Map
 * 創(chuàng)建人:
 * 修改時間:2014年9月20日
 * @version
 */

    public class PageData extends HashMap implements Map{
        
        private static final long serialVersionUID = 1L;
        
        protected Map map = null;
        private HttpServletRequest request;
        
        public PageData(HttpServletRequest request){
            this.request = request;
            Map properties = request.getParameterMap();
            Map returnMap = new HashMap(); 
            Iterator> entries = properties.entrySet().iterator(); 
            Map.Entry entry; 
            String name = "";  
            String value = "";  
            while (entries.hasNext()) {
                entry = entries.next(); 
                name = (String) entry.getKey(); 
                Object valueObj = entry.getValue(); 
                if(null == valueObj){ 
                    value = ""; 
                }else if(valueObj instanceof String[]){ 
                    // String[] values = (String[])valueObj;
                    // for(int i=0;i map){
            this.map = map;
        }
        
        public PageData() {
            map = new HashMap();
        }
        
        @Override
        public Object get(Object key) {
            Object obj = null;
            if(map.get(key) instanceof Object[]) {
                Object[] arr = (Object[])map.get(key);
                obj = request == null ? arr:(request.getParameter((String)key) == null ? arr:arr[0]);
            } else {
                obj = map.get(key);
            }
            return obj;
        }
        
        public String getString(String key) {
            Object obj = get(key);
            String value = null;
            if(null != obj) {
                value = ((String) obj).trim();
            }
            return value;
        }
        
        @Override
        public Object put(String key, Object value) {
            return map.put(key, value);
        }
        
        @Override
        public Object remove(Object key) {
            return map.remove(key);
        }
    
        public void clear() {
            map.clear();
        }
    
        public boolean containsKey(String key) {
            // TODO Auto-generated method stub
            return map.containsKey(key);
        }
    
        public boolean containsValue(Object value) {
            // TODO Auto-generated method stub
            return map.containsValue(value);
        }
    
        public Set> entrySet() {
            // TODO Auto-generated method stub
            return map.entrySet();
        }
    
        public boolean isEmpty() {
            // TODO Auto-generated method stub
            return map.isEmpty();
        }
    
        public Set keySet() {
            // TODO Auto-generated method stub
            return map.keySet();
        }
    
        public void putAll(Map t) {
            // TODO Auto-generated method stub
            map.putAll(t);
        }
    
        public int size() {
            // TODO Auto-generated method stub
            return map.size();
        }
    
        public Collection values() {
            // TODO Auto-generated method stub
            return map.values();
        }
        
    }
           
               
                                           
                       
                 
            
                     
             
               

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

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

相關(guān)文章

  • vue.js如何導(dǎo)出Excel表格

    摘要:有一個項目需求,要求在前端項目中導(dǎo)出表格,經(jīng)過查找代碼確實可以實現(xiàn),具體實現(xiàn)步驟為安裝依賴導(dǎo)入兩個下載和,在目錄下新建文件夾,里面放入和兩個文件在引入這兩個文件在組件中使用導(dǎo)出的方法序號昵稱姓名上面設(shè)置的表格第一行的標(biāo)題上面的是里對 有一個項目需求,要求在前端項目中導(dǎo)出Excel表格,經(jīng)過查找代碼,Vue.js確實可以實現(xiàn),具體實現(xiàn)步驟為: 1.安裝依賴 npm install -S ...

    lunaticf 評論0 收藏0
  • 批量導(dǎo)入數(shù)據(jù)excel表格)寫入數(shù)據(jù)

    摘要:批量導(dǎo)入數(shù)據(jù)庫思想之一頁面上傳表格后臺解析表格的數(shù)據(jù)暫放數(shù)據(jù)結(jié)構(gòu)中或自己看情況處理,再把里面的數(shù)據(jù)批量存入數(shù)據(jù)庫。 批量導(dǎo)入數(shù)據(jù)庫思想之一:頁面上傳excel表格后臺解析excel表格的數(shù)據(jù)暫放數(shù)據(jù)結(jié)構(gòu)中(list或Map,自己看情況處理),再把list里面的數(shù)據(jù)批量存入數(shù)據(jù)庫。直接貼代碼: 前端: 文件描述: ...

    darkbaby123 評論0 收藏0
  • vue導(dǎo)入處理Excel表格功能步驟實例

      1. 前言  本篇文章就是為大家講講前端導(dǎo)入并處理excel表格的情況,順便講講vue導(dǎo)入并處理excel數(shù)據(jù);也總結(jié)下使用工具。  2.vue導(dǎo)入Excel表格  vue導(dǎo)入Excel表格主要有兩種常用的方法,一個是借助ElementUI文件上傳進行表格導(dǎo)入,另一個是自帶的input做文件上傳;以下對兩個方法做詳細(xì)介紹;  2.1 使用ElementUI中的upload組件  安裝Eleme...

    3403771864 評論0 收藏0
  • Vue+Element前端導(dǎo)入導(dǎo)出Excel

    摘要:前言業(yè)務(wù)場景由前臺導(dǎo)入表格,獲取批量數(shù)據(jù)。根據(jù)一個數(shù)組導(dǎo)出表格。每一個值是個對象,包含了兩個屬性。由于本人將和放到了同一級,這里引入是這樣的。這幾個文件不支持引入,所以需要來將他們掛載到全局環(huán)境下。若不足之處,歡迎大家指出,共勉。 1 前言 1.1 業(yè)務(wù)場景 由前臺導(dǎo)入Excel表格,獲取批量數(shù)據(jù)。 根據(jù)一個數(shù)組導(dǎo)出Excel表格。 2 實現(xiàn)原理 2.1 引入工具庫 file-save...

    NikoManiac 評論0 收藏0
  • Springboot+poi導(dǎo)出Excel

    摘要:通過這個字段設(shè)置表名的編碼格式,從而兼容不同瀏覽器。獲取對象放入中字段名五總結(jié)設(shè)置樣式的話可根據(jù)需求進行調(diào)整,這個過程比較費時,導(dǎo)出條數(shù)據(jù),無樣式在左右,有樣式需要分鐘。 Springboot+poi導(dǎo)出Excel 一、引入jar包 注意需要引入3.8版本,POI3.8提供了SXSSFWorkbook類,來處理大數(shù)據(jù)內(nèi)存溢出的問題.可設(shè)置默認(rèn)內(nèi)存大小,多出的部分可存入硬盤中,不會內(nèi)存溢...

    CHENGKANG 評論0 收藏0

發(fā)表評論

0條評論

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