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

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

JAVA實現Excel的讀寫--poi

2019-11-14 23:46:51
字體:
來源:轉載
供稿:網友
java實現Excel的讀寫--poi

  上一篇為大家介紹了通過xls.jar的方式生成Excel的方法,本篇就為大家再介紹一下通過poi方式實現Excel文件的讀寫操作,內容很簡單,代碼注釋很清晰。

  1、生成Excel文件:

import java.io.File;import java.io.FileOutputStream;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;public class poi_write {        public static void main(String[] args) {        final String [] str = {"id", "name", "sex"};        //創建Excel工作薄        HSSFWorkbook workbook = new HSSFWorkbook();        //創建Excel工作表        HSSFSheet sheet = workbook.createSheet();        //創建第一行        HSSFRow row = sheet.createRow(0);        HSSFCell cell = null;                //添加表頭        for (int i = 0; i < str.length; i++) {            cell = row.createCell(i);            cell.setCellValue(str[i]);        }                //追加數據        for (int i = 1; i <= 10; i++) {            HSSFRow rows = sheet.createRow(i);            HSSFCell cell_id = rows.createCell(0);            cell_id.setCellValue(i+"");            HSSFCell cell_name = rows.createCell(1);            cell_name.setCellValue("name:"+i);            HSSFCell cell_sex = rows.createCell(2);            cell_sex.setCellValue("男");        }                //文件保存路徑        File file = new File("E:/VEVb/poi_text.xls");        try{            if(!file.exists()){                file.createNewFile();            }            FileOutputStream fileOut = new FileOutputStream(file);//創建一個文件輸出流對象            workbook.write(fileOut);            fileOut.close();//關閉輸出流對象        }catch (Exception e) {            e.PRintStackTrace();        }        System.out.println("Excel文件已生成");    }    }

  2、讀取Excel文件:

import java.io.File;import java.io.IOException;import org.apache.commons.io.FileUtils;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;public class poi_reading {        public static void main(String[] args) {        final File file = new File("E:/VEVb/poi_text.xls");        if(file.exists()){            try {                HSSFWorkbook workbook = new HSSFWorkbook(FileUtils.openInputStream(file));                //workbook.getSheet("Sheet0");獲得指定的工作表                //HSSFSheet sheet = workbook.getSheet("Sheet0");                //workbook.getSheetAt(0);默認獲得第一個工作表                HSSFSheet sheet = workbook.getSheetAt(0);                                int firstRowNum = 0;                //獲得當前sheet最后一行行號                int lastRowNum = sheet.getLastRowNum();                for (int i = firstRowNum; i <= lastRowNum; i++) {                    HSSFRow row = sheet.getRow(i);                    //獲得當前行最后單元格列號                    int lastCellNum = row.getLastCellNum();                    for (int j = 0; j < lastCellNum; j++) {                        HSSFCell cell = row.getCell(j);                        String value = cell.getStringCellValue();                        System.out.print(value+" ");                    }                    System.out.println("");                }            } catch (IOException e) {                e.printStackTrace();            }        }else{            System.out.println("讀取文件不存在");        }    }    }

  好了,基本的方法已經為大家介紹完畢,更好的效果展示就靠大家自己摸索了。

  不知道大家發現一個問題沒?我們生成的Excl文件都是.xls結尾,.xls是office97-2003的版本,而對于2007以后的版本則是以.xlsx結尾。那如何生成高版本的Excel呢?我們不能僅僅是修改一下File文件的后綴名,我們這里需要使用XSSFWorkbook進行創建workbook,然后把剩余的HSSF開頭去掉就可以了。不過在這里需要說明的就是,我們不知道用戶使用的是低版本還是高版本,所以我們建議大家都使用HSSFWorkbook來進行創建以.xls結尾的Excel文件。

  如有錯誤,還望指正。謝謝


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 溧阳市| 三亚市| 临澧县| 南康市| 平乐县| 泰安市| 玉林市| 太保市| 崇礼县| 舞钢市| 牙克石市| 蒙山县| 鹿邑县| 武平县| 芜湖市| 金坛市| 桓台县| 乌拉特中旗| 荆门市| 巢湖市| 翁牛特旗| 敦煌市| 宝鸡市| 弋阳县| 张北县| 芒康县| 元阳县| 忻城县| 沙洋县| 顺昌县| 万源市| 湟中县| 吉林市| 定日县| 保亭| 连城县| 社旗县| 夏河县| 平谷区| 胶州市| 台东县|