国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java解析Excel內容的方法

2019-11-26 15:15:52
字體:
來源:轉載
供稿:網友

本文實例講述了Java解析Excel內容的方法。分享給大家供大家參考。具體實現方法如下:

復制代碼 代碼如下:

import java.io.File; 
import java.io.FileInputStream; 
import java.io.InputStream; 
import java.util.ArrayList; 
import org.apache.poi.hssf.usermodel.HSSFWorkbook; 
import org.apache.poi.ss.usermodel.Cell; 
import org.apache.poi.ss.usermodel.Row; 
import org.apache.poi.ss.usermodel.Sheet; 
import org.apache.poi.ss.usermodel.Workbook; 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 
public class Test { 
    /**
     * @param args
     */ 
    public static void main(String[] args) { 
        meetquery("403", "e://Excel//1火災三級預案處置流程.xlsx"); 
    } 
    private static ArrayList<MeetBean> meetquery(String level, String filename) { 
        ArrayList<MeetBean> list = new ArrayList<MeetBean>(); 
        try { 
            File file = new File(filename); 
            InputStream is = new FileInputStream(file); 
            Workbook workbook = null;// 一個workbook對象,就是一個Excel文件 
            Sheet sheet = null;// sheet頁,因excel總有多個sheet頁,需要判斷具體取值哪一個 
            Row row1 = null;// Sheet頁數中的某一行 
            int colNum = 0;// Sheet總行數 
            Cell cell = null;// 第一列內容 
            Cell cell1 = null;// 第二列內容 
            String meetname = null;// 要點名稱 
            String meetid = null;// 要點編號 
            String meethine = null;// 要點提示內容 
            String meettime = null;// 處置時間 
            MeetBean meet = null; 
            // 判斷文件是什么格式 2003/2007 根據版本不同 處置對象也不同 
            if (filename.endsWith(".xls")) { 
                workbook = new HSSFWorkbook(is);// Excel 2003 
            } else if (filename.endsWith(".xlsx")) { 
                workbook = new XSSFWorkbook(is);// Excel 2007 
            } else { 
                return null; 
            } 
            // 判斷處理那個Sheet頁,共有三個用戶,分別處置不同的處置要點
            if (level == "401") { 
                // 值班站長的處置要點內容、處置提示 
                sheet = workbook.getSheetAt(0); 
                colNum = sheet.getLastRowNum();// 總行數 不包括標題內容 
                System.out.println("共有:" + colNum + "行"); 
                for (int i = 3; i <= colNum; i++) { 
                    meet = new MeetBean(); 
                    row1 = sheet.getRow(i);// 要解析的行數 
                    cell = row1.getCell((short) 2);// 要解析要點名稱的列數 
                    cell1 = row1.getCell((short) 4);// 要解析要點提示內容的列數 
                    if (cell != null && cell1 != null) { 
                        meetname = cell.getStringCellValue(); 
                        meethine = cell1.getStringCellValue(); 
                        meetid = "YD" + i; 
                        // 如果處置要點名稱為空,則是循環到了最后一個處置要點,則返回。。。 
                        if (!meetname.equals("")) { 
                            String intstr = String 
                                    .valueOf((int) (Math.random() * 10 + 1));// 生成1-10的隨機數 
                            // 如果是1-9隨機數,則需要自動補零 時間格式為00:00:00 
                            if (intstr.length() < 2) { 
                                String min = "0" + intstr; 
                                meettime = "00:" + min + ":00"; 
                            } else { 
                                meettime = "00:" + intstr + ":00"; 
                            } 
                            meet.setMeetid(meetid);// 處置要點編號 
                            meet.setMeetname(meetname);// 處置要點名稱 
                            meet.setMeethint(meethine);// 處置0要點提示內容 
                            meet.setMeettime(meettime);// 處置時間 
                            meet.setMeetLevel("401");// 處置要點級別 
                            list.add(meet); 
                        } else { 
                            return list; 
                        } 
                    } else { 
                        return list; 
                    } 
                } 
            } else if (level == "402") { 
                sheet = workbook.getSheetAt(1);// OCC調度員的處置要點內容、處置提示 
                colNum = sheet.getLastRowNum();// 總行數 不包括標題內容 
                System.out.println("共有:" + colNum + "行"); 
                for (int i = 3; i <= colNum; i++) { 
                    meet = new MeetBean(); 
                    row1 = sheet.getRow(i);// 要解析的行數 
                    cell = row1.getCell((short) 2);// 要解析要點名稱的列數 
                    cell1 = row1.getCell((short) 4);// 要解析要點提示內容的列數 
                    if (cell != null && cell1 != null) { 
                        meetname = cell.getStringCellValue(); 
                        meethine = cell1.getStringCellValue(); 
                        meetid = "YD" + i; 
                        // 如果處置要點名稱為空,則是循環到了最后一個處置要點,則返回。。。 
                        if (!meetname.equals("")) { 
                            String intstr = String 
                                    .valueOf((int) (Math.random() * 10 + 1));// 生成1-10的隨機數 
                            // 如果是1-9隨機數,則需要自動補零 時間格式為00:00:00 
                            if (intstr.length() < 2) { 
                                String min = "0" + intstr; 
                                meettime = "00:" + min + ":00"; 
                            } else { 
                                meettime = "00:" + intstr + ":00"; 
                            } 
                            meet.setMeetid(meetid);// 處置要點編號 
                            meet.setMeetname(meetname);// 處置要點名稱 
                            meet.setMeethint(meethine);// 處置要點提示內容 
                            meet.setMeettime(meettime);// 處置時間 
                            meet.setMeetLevel("402");// 處置要點級別 
                            list.add(meet); 
                        } else { 
                            return list; 
                        } 
                    } else { 
                        return list; 
                    } 
                } 
            } else if (level == "403") { 
                sheet = workbook.getSheetAt(2);// 控制中心的處置要點內容、處置提示 
                colNum = sheet.getLastRowNum();// 總行數 不包括標題內容 
                System.out.println("共有:" + colNum + "行"); 
                int nameInt = 0; 
                int hineInt = 0; 
                for (int j = 0; j <= colNum; j++) { 
                    row1 = sheet.getRow(3);// 要解析的行數 只有第三行中存在處置要點名稱,提示內容 
                    cell = row1.getCell((short) 1);// 要解析要點名稱的列數 
                    cell1 = row1.getCell((short) 2);// 要解析要點提示內容的列數 
                } 
                for (int i = 3; i <= colNum; i++) { 
                    meet = new MeetBean(); 
                    row1 = sheet.getRow(i);// 要解析的行數 
                    cell = row1.getCell((short) 1);// 要解析要點名稱的列數 
                    cell1 = row1.getCell((short) 2);// 要解析要點提示內容的列數 
                    if (cell != null && cell1 != null) { 
                        meetname = cell.getStringCellValue(); 
                        meethine = cell1.getStringCellValue(); 
                        meetid = "YD" + i; 
                        // 如果處置要點名稱為空,則是循環到了最后一個處置要點,則返回。。。 
                        if (!meetname.equals("")) { 
                            String intstr = String 
                                    .valueOf((int) (Math.random() * 10 + 1));// 生成1-10的隨機數 
                            // 如果是1-9隨機數,則需要自動補零 時間格式為00:00:00 
                            if (intstr.length() < 2) { 
                                String min = "0" + intstr; 
                                meettime = "00:" + min + ":00"; 
                            } else { 
                                meettime = "00:" + intstr + ":00"; 
                            } 
                            meet.setMeetid(meetid);// 處置要點編號 
                            meet.setMeetname(meetname);// 處置要點名稱 
                            meet.setMeethint(meethine);// 處置要點提示內容 
                            meet.setMeettime(meettime);// 處置時間 
                            meet.setMeetLevel("403");// 處置要點級別 
                            list.add(meet); 
                        } else { 
                            return list; 
                        } 
                    } else { 
                        return list; 
                    } 
                } 
            }   
            is.close(); 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
        return list; 
    } 
}

希望本文所述對大家的java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 华坪县| 寿光市| 东源县| 中宁县| 红河县| 新龙县| 分宜县| 黑龙江省| 泗阳县| 嘉祥县| 夹江县| 安国市| 忻城县| 金坛市| 油尖旺区| 寿光市| 彭山县| 张家川| 永州市| 钟祥市| 军事| 湘潭县| 台南县| 安远县| 长乐市| 塔河县| 顺平县| 蓬溪县| 于都县| 扎兰屯市| 芜湖县| 辽阳市| 安远县| 望江县| 景宁| 闵行区| 肥城市| 丹东市| 大厂| 都昌县| 景宁|