欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用 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)建和維護(hù) 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)出以及格式化等操作。無論你是進(jìn)行數(shù)據(jù)分析還是生成報表,這些知識都能大大提升你的開發(fā)效率。??‍????

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

相關(guān)文章

  • SpringBoot的@EnableAsync和@Async注解分析

    SpringBoot的@EnableAsync和@Async注解分析

    這篇文章主要介紹了SpringBoot的@EnableAsync和@Async注解分析,Spring Boot是一個快速開發(fā)框架,可以幫助開發(fā)人員快速構(gòu)建基于Spring的應(yīng)用程序,需要的朋友可以參考下
    2023-07-07
  • spring boot整合log4j2及MQ消費處理系統(tǒng)日志示例

    spring boot整合log4j2及MQ消費處理系統(tǒng)日志示例

    這篇文章主要為大家介紹了spring boot整合log4j2及MQ消費處理系統(tǒng)日志的示例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • java實現(xiàn)斗地主發(fā)牌功能

    java實現(xiàn)斗地主發(fā)牌功能

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)斗地主發(fā)牌功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Spring中@Autowire注入的深入講解

    Spring中@Autowire注入的深入講解

    這篇文章主要給大家介紹了關(guān)于Spring中@Autowire注入的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 非常全面的IReport的使用教程

    非常全面的IReport的使用教程

    iReport 是為JasperReports Library和JasperReports Server設(shè)計的報表可視化設(shè)計器。本教程給大家詳細(xì)介紹IReport的使用解析,感興趣的朋友一起看看吧
    2021-10-10
  • Java利用opencv實現(xiàn)用字符展示視頻或圖片的方法

    Java利用opencv實現(xiàn)用字符展示視頻或圖片的方法

    這篇文章主要介紹了Java利用opencv實現(xiàn)用字符展示視頻或圖片的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Spring JPA自定義查詢結(jié)果的接收方式

    Spring JPA自定義查詢結(jié)果的接收方式

    這篇文章主要介紹了Spring JPA自定義查詢結(jié)果的接收方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java編程枚舉類實戰(zhàn)代碼分享

    Java編程枚舉類實戰(zhàn)代碼分享

    這篇文章主要介紹了Java編程枚舉類實戰(zhàn)代碼分享,具有一定借鑒價值,需要的朋友可以了解下。
    2017-11-11
  • Mybatis配置文件之動態(tài)SQL配置備忘錄

    Mybatis配置文件之動態(tài)SQL配置備忘錄

    這篇文章主要介紹了Mybatis配置文件之動態(tài)SQL配置備忘錄的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • java基礎(chǔ)之String知識總結(jié)

    java基礎(chǔ)之String知識總結(jié)

    今天帶大家來回顧一下Java基礎(chǔ),文中詳細(xì)總結(jié)了String的相關(guān)知識,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05

最新評論