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

使用 Apache POI 在 Java 中寫入 Excel 文件的方法

 更新時間:2025年02月25日 09:48:31   作者:大名頂頂  
這篇文章詳細(xì)介紹了如何使用ApachePOI在Java中編寫Excel文件的技巧,包括創(chuàng)建工作簿、工作表、行和單元格,以及如何處理不同版本的Excel文件,通過詳細(xì)的步驟和代碼示例,讀者可以快速掌握ApachePOI的基本使用方法,感興趣的朋友一起看看吧

大家好!?? 在這篇文章中,我們將帶你深入學(xué)習(xí)如何使用 Apache POI 在 Java 中編寫 Excel 文件的技巧!???? 如果你是 Java 開發(fā)者,或者正在探索如何處理 Excel 文件的數(shù)據(jù),那么這篇文章絕對不容錯過!??

在這里,我們不僅僅是介紹基礎(chǔ)的 Excel 文件寫入方法,還會通過詳細(xì)的步驟和代碼示例,幫助你快速上手。? 通過本篇文章,你將掌握如何創(chuàng)建 Excel 文件、如何插入數(shù)據(jù)以及如何使用 Apache POI 簡單而高效地操作 Excel 文件!????

如果你覺得這篇文章對你有幫助,請不要忘記點贊??,收藏??,并關(guān)注我們獲取更多技術(shù)分享!還可以在下方評論??,和我們分享你的學(xué)習(xí)心得和問題!??

一.準(zhǔn)備工作 

關(guān)于 Apache POI 項目

Apache POI 項目的使命是創(chuàng)建和維護 Java API,以操作基于 Office Open XML 標(biāo)準(zhǔn)(OOXML)和 Microsoft 的 OLE 2 復(fù)合文檔格式(OLE2)的各種文件格式。簡而言之,您可以使用 Java 讀取和寫入 MS Excel 文件。

在 Java 中讀寫 Excel 時,您會遇到兩個前綴:

HSSF:用于處理 2003 或更早版本的 Excel 文件(.xls)。一些帶有 HSSF 前綴的類包括 HSSFWorkbook、HSSFSheet、HSSFRow 和 HSSFCell。

XSSF:用于處理 2007 或更高版本的 Excel 文件(.xlsx)。一些帶有 XSSF 前綴的類包括 XSSFWorkbook、XSSFSheet、XSSFRow 和 XSSFCell。

以下是您需要了解的一些類:

Workbook:這是表示 Excel 工作簿的高級類。

Sheet:這是表示 Excel 工作表的高級類。

Row:這是表示 Excel 行的高級類。它具有與行相關(guān)的方法。

Cell:這是表示單個 Excel 單元格的高級類。它具有與單元格相關(guān)的方法,例如:getDataType()。

依賴項

如果您使用 Maven,您需要在 pom.xml 中添加以下依賴項。

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

如果您沒有使用 Maven,則需要將以下 JAR 文件添加到類路徑中。

  • poi-3.13.jar
  • commons-codec-1.9.jar
  • poi-ooxml-3.13.jar
  • poi-ooxml-schemas-3.13.jar
  • xmlbeans-2.6.0.jar
  • stax-api-1.0.1.jar

二.使用 POI 寫入 Excel 文件的步驟

1.創(chuàng)建一個空白工作簿:

XSSFWorkbook workbook = new XSSFWorkbook();

2.創(chuàng)建一個工作表并傳遞工作表名稱:

XSSFSheet sheet = workbook.createSheet("Country");

3.創(chuàng)建一行:

Row row = sheet.createRow(rownum++);

4.創(chuàng)建單元格,設(shè)置其值并將單元格添加到上述行:

Cell cell = row.createCell(cellnum++);
if (obj instanceof String) cell.setCellValue((String) obj);
else if (obj instanceof Double) cell.setCellValue((Double) obj);
else if (obj instanceof Integer) cell.setCellValue((Integer) obj);

5.重復(fù)步驟 3 和 4,直到您有數(shù)據(jù)。

三.java實現(xiàn)代碼

我們將編寫名為“CountriesDetails.xlsx”的 Excel 文件。

請創(chuàng)建 WriteExcelMain.java,并添加以下代碼。

// 引入所需的包
package org.arpit.java2blog;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
// 引入 Apache POI 庫中的相關(guān)類
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;
public class WriteExcelMain {
    // 主方法,程序入口
    public static void main(String[] args) throws IOException {
        writeFileUsingPOI();  // 調(diào)用寫文件的方法
    }
    // 定義寫入 Excel 文件的方法
    public static void writeFileUsingPOI() throws IOException {
        // 創(chuàng)建一個空的工作簿
        XSSFWorkbook workbook = new XSSFWorkbook();
        // 創(chuàng)建一個空的工作表,并命名為 "Country"
        XSSFSheet sheet = workbook.createSheet("Country");
        // 創(chuàng)建一個數(shù)據(jù)集合,包含一些示例數(shù)據(jù)
        ArrayList<Object[]> data = new ArrayList<Object[]>();
        data.add(new String[]{"Country", "Capital", "Population"}); // 添加標(biāo)題行
        data.add(new Object[]{"India", "Delhi", 10000}); // 添加數(shù)據(jù)行
        data.add(new Object[]{"France", "Paris", 40000});
        data.add(new Object[]{"Germany", "Berlin", 20000});
        data.add(new Object[]{"England", "London", 30000});
        // 遍歷數(shù)據(jù)集合,并將每一行數(shù)據(jù)寫入 Excel 工作表
        int rownum = 0;
        for (Object[] countries : data) {
            // 創(chuàng)建行并設(shè)置行號
            Row row = sheet.createRow(rownum++);
            int cellnum = 0;
            // 遍歷每一行的數(shù)據(jù)并創(chuàng)建單元格
            for (Object obj : countries) {
                Cell cell = row.createCell(cellnum++);
                // 根據(jù)數(shù)據(jù)類型設(shè)置單元格的值
                if (obj instanceof String)
                    cell.setCellValue((String) obj);  // 如果數(shù)據(jù)是字符串,設(shè)置為字符串
                else if (obj instanceof Double)
                    cell.setCellValue((Double) obj);  // 如果數(shù)據(jù)是 Double 類型,設(shè)置為數(shù)字
                else if (obj instanceof Integer)
                    cell.setCellValue((Integer) obj);  // 如果數(shù)據(jù)是 Integer 類型,設(shè)置為數(shù)字
            }
        }
        // 將工作簿寫入文件系統(tǒng)
        try {
            // 創(chuàng)建輸出流,將數(shù)據(jù)寫入 "CountriesDetails.xlsx" 文件
            FileOutputStream out = new FileOutputStream(new File("CountriesDetails.xlsx"));
            workbook.write(out);  // 寫入數(shù)據(jù)
            out.close();  // 關(guān)閉輸出流
            System.out.println("CountriesDetails.xlsx has been created successfully");  // 輸出提示信息
        } catch (Exception e) {
            e.printStackTrace();  // 異常處理
        } finally {
            // 最后關(guān)閉工作簿
            workbook.close();
        }
    }
}

當(dāng)您運行上述程序時,您將得到以下輸出:

CountriesDetails.xlsx has been created successfully

現(xiàn)在,讓我們查看 CountriesDetails.xlsx 文件的內(nèi)容。

在本篇文章中,我們詳細(xì)介紹了如何使用 Apache POI 在 Java 中創(chuàng)建和寫入 Excel 文件。通過幾個簡單的步驟和示例代碼,你學(xué)會了如何創(chuàng)建一個空白的 Excel 工作簿、添加數(shù)據(jù)并將其保存到文件中。我們還介紹了 POI 庫的基本使用,如何根據(jù)不同的 Excel 文件版本選擇適當(dāng)?shù)那熬Y(HSSF 和 XSSF),并提供了 Maven 和非 Maven 項目的依賴項設(shè)置。

通過這些步驟,你將能夠輕松地在 Java 項目中處理 Excel 文件,實現(xiàn)數(shù)據(jù)的導(dǎo)入、導(dǎo)出以及格式化等操作。無論你是進行數(shù)據(jù)分析還是生成報表,這些知識都能大大提升你的開發(fā)效率。??‍????

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

相關(guān)文章

  • 關(guān)于SpringBoot使用@Async的總結(jié)

    關(guān)于SpringBoot使用@Async的總結(jié)

    這篇文章主要介紹了關(guān)于SpringBoot使用@Async的總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java利用Spire.XLS for Java實現(xiàn)刪除Excel指定行或列

    Java利用Spire.XLS for Java實現(xiàn)刪除Excel指定行或列

    在Java應(yīng)用中處理Excel數(shù)據(jù)是常見的任務(wù),而其中一項核心需求便是對工作表中的行或列進行管理,本文將深入探討如何利用功能強大的Spire.XLS for Java庫,輕松實現(xiàn)Excel行和列的刪除操作,需要的可以了解下
    2025-09-09
  • XML解析四種方式代碼示例詳解

    XML解析四種方式代碼示例詳解

    這篇文章主要介紹了XML解析四種方式代碼示例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • SpringBoot Tomcat啟動實例代碼詳解

    SpringBoot Tomcat啟動實例代碼詳解

    這篇文章主要介紹了SpringBoot Tomcat啟動實例代碼詳解,需要的朋友可以參考下
    2017-09-09
  • @Autowired注入為空指針的原因及解決過程

    @Autowired注入為空指針的原因及解決過程

    文章分析了在定時任務(wù)中使用@Autowired注入配置類時出現(xiàn)空指針的原因,主要是因為定時任務(wù)開啟的新進程中沒有注入值,以及@Autowired調(diào)用get時還未進入其生命周期,解決方案是引入工具類同時調(diào)用方法
    2026-05-05
  • 讓Java后臺MySQL數(shù)據(jù)庫能夠支持emoji表情的方法

    讓Java后臺MySQL數(shù)據(jù)庫能夠支持emoji表情的方法

    最近開發(fā)的iOS項目因為需要用戶文本的存儲,自然就遇到了emoji等表情符號如何被mysql DB支持的問題。下面這篇文章主要介紹了關(guān)于讓Java后臺MySQL數(shù)據(jù)庫能夠支持emoji表情的方法,需要的朋友可以參考下。
    2017-03-03
  • SpringBoot配置文件之properties和yml的使用

    SpringBoot配置文件之properties和yml的使用

    這篇文章主要介紹了SpringBoot配置文件之properties和yml的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • idea手動執(zhí)行maven命令的三種實現(xiàn)方式

    idea手動執(zhí)行maven命令的三種實現(xiàn)方式

    這篇文章主要介紹了idea手動執(zhí)行maven命令的三種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • springboot上傳文件過大的500異常解決

    springboot上傳文件過大的500異常解決

    這篇文章主要介紹了springboot上傳文件過大的500異常解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Java中的==使用方法詳解

    Java中的==使用方法詳解

    這篇文章主要介紹了Java中“==”的使用方法,,==可以使用在基本數(shù)據(jù)類型變量和引用數(shù)據(jù)類型變量中,equals()是方法,只能用于引用數(shù)據(jù)類型,需要的朋友可以參考下
    2022-09-09

最新評論

博罗县| 略阳县| 宣武区| 扬中市| 江门市| 博野县| 股票| 八宿县| 武陟县| 搜索| 孝昌县| 娱乐| 连江县| 岑巩县| 玛沁县| 财经| 北京市| 车致| 固阳县| 巴楚县| 开鲁县| 贡山| 石河子市| 阳泉市| 北宁市| 邢台县| 华宁县| 铜鼓县| 平湖市| 汽车| 安福县| 恭城| 光泽县| 左贡县| 彩票| 长兴县| 虹口区| 新沂市| 武宣县| 赤水市| 来凤县|