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

Apache POI用法示例詳解

 更新時(shí)間:2024年09月12日 11:34:04   作者:JH3073  
Apache POI是一個(gè)開源的Java API,用于處理Microsoft Office文檔,提供了多種組件,例如HSSF、XSSF等,以支持不同格式如Excel、Word、PowerPoint等文件的讀寫操作,本文介紹Apache POI用法,感興趣的朋友跟隨小編一起看看吧

一、Apache POI是什么

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

二、POI結(jié)構(gòu)

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格式檔案的功能

三、POI操作Excel

3.1從Excel讀取數(shù)據(jù)

//通過(guò)遍歷工作表獲得行,遍歷行獲得單元格,最終獲取單元格中的值。
//創(chuàng)建工作簿
XSSFWorkbook workbook = new XSSFWorkbook("D:\\hello.xlsx");
//獲取工作表,既可以根據(jù)工作表的順序獲取,也可以根據(jù)工作表的名稱獲取
XSSFSheet sheet = workbook.getSheetAt(0);
//遍歷工作表獲得行對(duì)象
for (Row row : sheet) {
  //遍歷行對(duì)象獲取單元格對(duì)象
  for (Cell cell : row) {
    //獲得單元格中的值
    String value = cell.getStringCellValue();
    System.out.println(value);
  }
}
workbook.close();

POI操作Excel表格封裝了幾個(gè)核心對(duì)象:

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

3.2向Excel文件寫入數(shù)據(jù)

使用POI可以在內(nèi)存中創(chuàng)建一個(gè)Excel文件并將數(shù)據(jù)寫入到這個(gè)文件,最后通過(guò)輸出流將內(nèi)存中的Excel文件下載到磁盤

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFCell;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelWriter {
    public static void main(String[] args) {
        // 創(chuàng)建一個(gè)新的XSSFWorkbook對(duì)象,代表整個(gè)Excel工作簿
        XSSFWorkbook workbook = new XSSFWorkbook();
        try {
            // 創(chuàng)建一個(gè)新的工作表
            XSSFSheet sheet = workbook.createSheet("Sheet1");
            // 創(chuàng)建第一行
            XSSFRow row = sheet.createRow(0);
            // 創(chuàng)建第一行的第一個(gè)單元格,并設(shè)置值
            XSSFCell cell = row.createCell(0);
            cell.setCellValue("Hello, World!");
            // 創(chuàng)建第二行
            XSSFRow row2 = sheet.createRow(1);
            // 創(chuàng)建第二行的第一個(gè)單元格,并設(shè)置值
            XSSFCell cell2 = row2.createCell(0);
            cell2.setCellValue("這是第二行");
            // 將工作簿寫入到文件中
            try (FileOutputStream outputStream = new FileOutputStream("output.xlsx")) {
                workbook.write(outputStream);
            }
            System.out.println("Excel文件已成功創(chuàng)建并寫入數(shù)據(jù)");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                // 關(guān)閉workbook
                if (workbook != null) {
                    workbook.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

四、POI操作Word

4.1讀取 Word 文件

Apache POI 也可以用于讀取 Word 文件的內(nèi)容。

import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import java.io.FileInputStream;
import java.io.IOException;
public class WordReader {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("example.docx");
             XWPFDocument document = new XWPFDocument(fis)) {
            XWPFWordExtractor extractor = new XWPFWordExtractor(document);
            String text = extractor.getText();
            System.out.println(text);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

4.2寫入 Word 文件

寫入 Word 文件也可以通過(guò) Apache POI 來(lái)實(shí)現(xiàn)。

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class WordWriter {
    public static void main(String[] args) {
        // 創(chuàng)建文檔
        XWPFDocument document = new XWPFDocument();
        // 創(chuàng)建段落
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("這是一個(gè)示例文檔。");
        // 寫入文件
        try (FileOutputStream fos = new FileOutputStream("output.docx")) {
            document.write(fos);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

五、深入學(xué)習(xí)

如果想要深入學(xué)習(xí) Apache POI,可以參考官方文檔:https://poi.apache.org/

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

相關(guān)文章

  • Linux學(xué)習(xí)第一天——ssh登錄和軟件安裝詳解

    Linux學(xué)習(xí)第一天——ssh登錄和軟件安裝詳解

    這篇文章主要介紹了Linux學(xué)習(xí)第一天——ssh登錄和軟件安裝詳解 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • 深入解讀Linux進(jìn)程函數(shù)fork(),vfork(),execX()

    深入解讀Linux進(jìn)程函數(shù)fork(),vfork(),execX()

    這篇文章主要介紹了深入解讀Linux進(jìn)程函數(shù)fork(),vfork(),execX(),分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • CentOS6.5環(huán)境下使用rsync增量同步備份文件的方法

    CentOS6.5環(huán)境下使用rsync增量同步備份文件的方法

    這篇文章主要介紹了CentOS6.5環(huán)境下使用rsync增量同步備份文件的方法,結(jié)合實(shí)例形式分析了rsync進(jìn)行文件同步備份操作的相關(guān)命令與使用技巧,需要的朋友可以參考下
    2018-04-04
  • Linux與Windows編碼不一致的解決方案

    Linux與Windows編碼不一致的解決方案

    本篇文章給大家總結(jié)了Linux與Windows編碼不一致的解決方法以及相關(guān)注意點(diǎn),有需要的朋友參考下。
    2018-03-03
  • 詳解linux系統(tǒng)調(diào)用原理

    詳解linux系統(tǒng)調(diào)用原理

    這篇文章給大家詳細(xì)講述了linux系統(tǒng)調(diào)用原理的相關(guān)知識(shí)點(diǎn)內(nèi)容,對(duì)此有興趣的朋友參考學(xué)習(xí)下。
    2018-08-08
  • Ubuntu下使用python3中的venv創(chuàng)建虛擬環(huán)境

    Ubuntu下使用python3中的venv創(chuàng)建虛擬環(huán)境

    這篇文章主要介紹了Ubuntu下使用python3中的venv創(chuàng)建虛擬環(huán)境,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 解決訪問(wèn)不到Linux服務(wù)器中RabbitMQ管理頁(yè)面問(wèn)題

    解決訪問(wèn)不到Linux服務(wù)器中RabbitMQ管理頁(yè)面問(wèn)題

    大家好,本篇文章主要講的是解決訪問(wèn)不到Linux服務(wù)器中RabbitMQ管理頁(yè)面問(wèn)題,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 在Ubuntu上打不開GitHub的完整解決方法

    在Ubuntu上打不開GitHub的完整解決方法

    當(dāng)你滿心歡喜打開Ubuntu準(zhǔn)備推送代碼時(shí),突然發(fā)現(xiàn)終端里的git?push卡成狗,瀏覽器里的GitHub頁(yè)面直接變成Whoa?there!警告頁(yè)面,本文就這個(gè)問(wèn)題小編給大家介紹了當(dāng)你在Ubuntu上打不開GitHub時(shí)的終極自救指南,需要的朋友可以參考下
    2025-09-09
  • Linux硬盤合并的實(shí)現(xiàn)代碼

    Linux硬盤合并的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Linux硬盤合并的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Linux模擬實(shí)現(xiàn)sleep函數(shù)

    Linux模擬實(shí)現(xiàn)sleep函數(shù)

    這篇文章主要為大家詳細(xì)介紹了Linux模擬實(shí)現(xiàn)sleep函數(shù),讓程序休眠一定的秒數(shù),到時(shí)間后自動(dòng)恢復(fù)運(yùn)行
    2017-04-04

最新評(píng)論

申扎县| 巨鹿县| 鹤峰县| 余江县| 晋中市| 泉州市| 汉川市| 兴仁县| 阿勒泰市| 佛山市| 雷波县| 吉林市| 开原市| 漳州市| 连云港市| 通城县| 大城县| 晋城| 四子王旗| 运城市| 沽源县| 宜兰市| 汶川县| 达孜县| 汤阴县| 嘉禾县| 绍兴县| 昆山市| 台湾省| 合山市| 弋阳县| 旅游| 台南市| 恩施市| 乐安县| 新乡县| 新河县| 民乐县| 班戈县| 哈尔滨市| 岳普湖县|