最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Apache POI的基本使用詳解

 更新時(shí)間:2021年11月03日 17:16:33   作者:不錯(cuò)?不錯(cuò)!  
Apache POI是由Apache公司提佛那個(gè)的Java編寫的免費(fèi)開源的跨平臺(tái)Java API,提供對(duì)Microsoft Office格式文件的讀和寫的功能。本文向大家介紹Apache POI的基本使用,感興趣的朋友一起看看吧

基本介紹

POI

  • pache POI是用Java編寫的免費(fèi)開源的跨平臺(tái)的Java API,Apache POI提供API給Java程序?qū)icrosoft Office格式檔案讀和寫的功能,
  • 使用最多的就是使用POI操作Excel文件。
  • 它還能操作word等這些其他形式的文檔

jxl:專門操作Excel,專門用來操作Excel的

使用POI,需要導(dǎo)入maven坐標(biāo)

<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi</artifactId>
  <version>3.14</version>
</dependency>
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-ooxml</artifactId>
  <version>3.14</version>
</dependency>

POI結(jié)構(gòu):針對(duì)不同的文檔形式來操作的時(shí)候會(huì)提供相應(yīng)的一些類

HSSF - 提供讀寫Microsoft Excel XLS格式檔案的功能
XSSF - 提供讀寫Microsoft Excel OOXML XLSX格式檔案的功能
HWPF - 提供讀寫Microsoft Word DOC格式檔案的功能
HSLF - 提供讀寫Microsoft PowerPoint格式檔案的功能
HDGF - 提供讀Microsoft Visio格式檔案的功能
HPBF - 提供讀Microsoft Publisher格式檔案的功能
HSMF - 提供讀Microsoft Outlook格式檔案的功能

入門測(cè)試(從Excel文件讀取數(shù)據(jù))

使用POI可以從一個(gè)已經(jīng)存在的Excel文件中讀取數(shù)據(jù)

第一步:導(dǎo)入maven坐標(biāo)

下面是第二步

第二步:創(chuàng)建Excel文件

在這里插入圖片描述

第三步:寫測(cè)試代碼

package com.yy.test;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.junit.Test;

import java.io.File;
import java.io.FileInputStream;

/**
 * @author Marston
 * @date 2021/10/29
 */
public class POITest {
    @Test
    public void test() throws Exception {
        //傳入一個(gè)輸入流,加載指定文件,創(chuàng)建一個(gè)Excel對(duì)象(工作簿)
        XSSFWorkbook excel = new XSSFWorkbook(new FileInputStream(new File("E:\\testNomal\\poi.xlsx")));
        //讀取Excel文件中的第一個(gè)Sheet標(biāo)簽頁
        XSSFSheet sheet = excel.getSheetAt(0);
        //一個(gè)sheet頁里面有很多行,遍歷這個(gè)sheet標(biāo)簽頁,獲取每一行數(shù)據(jù)
        for (Row row : sheet) {
            //遍歷行,獲得每個(gè)單元格對(duì)象
            for (Cell cell : row) {
                //cell代表單元格對(duì)象
                System.out.println(cell.getStringCellValue());//getStringCellValue第二列因?yàn)槭菙?shù)值,不能轉(zhuǎn)為String類型的所以報(bào)錯(cuò)
                //只要將Excel表格里面的第二列的內(nèi)容改為string類型的就可以了
            }
        }
        //關(guān)閉Excel文件
        excel.close();
    }
}

運(yùn)行結(jié)果:

在這里插入圖片描述

因?yàn)槭侨腴T案例,我這里就要類型改變?yōu)橄旅娴?,將Excel文件里面的內(nèi)容修改后:

在這里插入圖片描述
在這里插入圖片描述

代碼說明及擴(kuò)展

通過上面的入門案例可以看到,POI操作Excel表格封裝了幾個(gè)核心對(duì)象:

XSSFWorkbook:工作簿
XSSFSheet:工作表
Row:行
Cell:?jiǎn)卧?/p>

上面案例是通過遍歷工作表獲得行,遍歷行獲得單元格,最終獲取單元格中的值。

還有一種方式就是獲取工作表最后一個(gè)行號(hào),從而根據(jù)行號(hào)獲得行對(duì)象,通過行獲取最后一個(gè)單元格索引,從而根據(jù)單元格索引獲取每行的一個(gè)單元格對(duì)象,代碼如下:

package com.yy.test;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.junit.Test;

import java.io.File;
import java.io.FileInputStream;

/**
 * @author Marston
 * @date 2021/10/29
 */
public class POITest {
    @Test
    public void test2() throws Exception {
        //傳入一個(gè)輸入流,加載指定文件,創(chuàng)建一個(gè)Excel對(duì)象(工作簿)
        XSSFWorkbook excel = new XSSFWorkbook(new FileInputStream(new File("E:\\testNomal\\poi.xlsx")));
        //讀取Excel文件中的第一個(gè)Sheet標(biāo)簽頁
        XSSFSheet sheet = excel.getSheetAt(0);
        //獲取當(dāng)前工作表最后一行的行號(hào),行號(hào)從0開始
        int lastRowNum = sheet.getLastRowNum();
        System.out.println("lastRowNum:"+lastRowNum);
        for(int i=0;i<=lastRowNum;i++){
            //根據(jù)行號(hào)獲取每一行
            XSSFRow row = sheet.getRow(i);
            //獲取當(dāng)前行最后一個(gè)單元格索引
            short lastCellNum = row.getLastCellNum();
            System.out.println("lastCellNum:"+lastCellNum);
            for(short j=0;j<lastCellNum;j++){
                //根據(jù)單元格索引獲取單元格內(nèi)容
                String value = row.getCell(j).getStringCellValue();
                System.out.println(value);
            }
        }
        //關(guān)閉Excel文件
        excel.close();
    }
}

在這里插入圖片描述

入門測(cè)試(向Excel文件寫入數(shù)據(jù))

測(cè)試代碼:

//使用POI向Excel文件寫入數(shù)據(jù),并且通過輸出流將創(chuàng)建的Excel文件保存到本地磁盤
    //@Test
    public void test3() throws Exception{
        //在內(nèi)存中創(chuàng)建一個(gè)Excel文件(工作簿)
        XSSFWorkbook excel = new XSSFWorkbook();
        //創(chuàng)建一個(gè)工作表對(duì)象,名字叫做:POI寫入測(cè)試
        XSSFSheet sheet = excel.createSheet("POI寫入測(cè)試");
        //在工作表中創(chuàng)建行對(duì)象,在第一行創(chuàng)建
        XSSFRow title = sheet.createRow(0);
        //在行中創(chuàng)建單元格對(duì)象
        title.createCell(0).setCellValue("姓名");//第一列內(nèi)容
        title.createCell(1).setCellValue("地址");
        title.createCell(2).setCellValue("年齡");

		//在第二行創(chuàng)建
        XSSFRow dataRow = sheet.createRow(1);
        dataRow.createCell(0).setCellValue("小明");
        dataRow.createCell(1).setCellValue("北京");
        dataRow.createCell(2).setCellValue("20");

        //創(chuàng)建一個(gè)輸出流,通過輸出流將內(nèi)存中的Excel文件寫到磁盤
        FileOutputStream out = new FileOutputStream(new File("e:\\hello.xlsx"));
        excel.write(out);//寫入
        out.flush();//刷新
        excel.close();
    }

在這里插入圖片描述

到此這篇關(guān)于Apache POI的基本使用的文章就介紹到這了,更多相關(guān)Apache POI使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux如何利用crontab添加定時(shí)任務(wù)詳解

    linux如何利用crontab添加定時(shí)任務(wù)詳解

    這篇文章主要給大家介紹了關(guān)于linux如何利用crontab添加定時(shí)任務(wù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • centos7安裝mysql并jdbc測(cè)試實(shí)例詳解

    centos7安裝mysql并jdbc測(cè)試實(shí)例詳解

    這篇文章主要介紹了centos7安裝mysql并jdbc測(cè)試實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • centos6.5安裝vncserver圖文教程

    centos6.5安裝vncserver圖文教程

    這篇文章主要介紹了centos6.5安裝vncserver圖文教程的相關(guān)資料,這里對(duì)centos 安裝vncserver 進(jìn)行了實(shí)例介紹,需要的朋友可以參考下
    2016-11-11
  • 解決atd服務(wù)報(bào)錯(cuò)Failed with result‘exit-code‘問題

    解決atd服務(wù)報(bào)錯(cuò)Failed with result‘exit-code‘問題

    在isoftserveros-v5.1-oe1-aarch64系統(tǒng)中,安裝at軟件包后,由于手動(dòng)執(zhí)行導(dǎo)致atd守護(hù)進(jìn)程出錯(cuò),通過查看后臺(tái)Process行,手動(dòng)kill原atd進(jìn)程,使用systemctl重啟atd服務(wù)后,問題得以解決,此經(jīng)驗(yàn)可為類似情況提供參考
    2024-09-09
  • Linux搭建DHCP服務(wù)器的詳細(xì)過程

    Linux搭建DHCP服務(wù)器的詳細(xì)過程

    DHCP動(dòng)態(tài)主機(jī)配置協(xié)議是一個(gè)局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,指的是由服務(wù)器控制一段IP地址范圍,客戶機(jī)登錄服務(wù)器時(shí)就可以自動(dòng)獲得服務(wù)器分配的IP地址和子網(wǎng)掩碼,這篇文章主要介紹了Linux搭建DHCP服務(wù)器,需要的朋友可以參考下
    2022-10-10
  • Linux服務(wù)器安裝PHP MongoDB擴(kuò)展的方法

    Linux服務(wù)器安裝PHP MongoDB擴(kuò)展的方法

    這篇文章主要介紹了Linux服務(wù)器安裝PHP MongoDB擴(kuò)展的方法,需要的朋友可以參考下
    2016-11-11
  • 使用xshell連接linux服務(wù)器

    使用xshell連接linux服務(wù)器

    這篇文章介紹了使用xshell連接linux服務(wù)器的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • Linux+php+apache+oracle環(huán)境搭建之CentOS下安裝Oracle數(shù)據(jù)庫

    Linux+php+apache+oracle環(huán)境搭建之CentOS下安裝Oracle數(shù)據(jù)庫

    研究了兩天Linux下安裝Oracle,重裝了兩次虛擬機(jī),終于安裝成功。很有收獲的。記錄下安裝過程。大神們?nèi)缬懈玫姆绞?,?qǐng)聯(lián)系我!
    2014-08-08
  • 淺談Linux下免密碼切換到root用戶當(dāng)注意的問題

    淺談Linux下免密碼切換到root用戶當(dāng)注意的問題

    下面小編就為大家?guī)硪黄獪\談Linux下免密碼切換到root用戶當(dāng)注意的問題。小編覺得挺不錯(cuò)的?,F(xiàn)在就分享給大家。也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • Linux下非交互式提權(quán)詳解

    Linux下非交互式提權(quán)詳解

    這篇文章主要介紹了Linux下非交互式提權(quán)的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-03-03

最新評(píng)論

长白| 关岭| 兴海县| 海南省| 龙岩市| 土默特左旗| 资源县| 会理县| 勐海县| 龙州县| 紫金县| 吉安市| 浦县| 颍上县| 东方市| 泰兴市| 抚州市| 汕尾市| 济阳县| 门源| 肇东市| 彰化市| 瑞丽市| 荣昌县| 南乐县| 建宁县| 蓬溪县| 黄骅市| 香格里拉县| 普安县| 广饶县| 三门峡市| 西乡县| 甘谷县| 永年县| 桐柏县| 当阳市| 砚山县| 弥勒县| 日喀则市| 霍城县|