使用Java將各種數(shù)據(jù)寫(xiě)入Excel表格的操作示例
前言
在數(shù)據(jù)處理與管理領(lǐng)域,Excel 憑借其強(qiáng)大的功能和廣泛的應(yīng)用,成為了數(shù)據(jù)存儲(chǔ)與展示的重要工具。在 Java 開(kāi)發(fā)過(guò)程中,常常需要將不同類型的數(shù)據(jù),如文本、數(shù)值、數(shù)組以及 DataTable 數(shù)據(jù)寫(xiě)入 Excel 文件,以滿足各種業(yè)務(wù)需求。本文將詳細(xì)介紹如何使用一個(gè)免費(fèi) Java庫(kù)實(shí)現(xiàn)將數(shù)據(jù)導(dǎo)入Excel這一功能,為你在數(shù)據(jù)處理方面提供有力的支持。
安裝免費(fèi)Java庫(kù)
在開(kāi)始編碼前,需在項(xiàng)目中安裝Free Spire.XLS for Java免費(fèi)庫(kù)。該庫(kù)支持多種Excel處理功能,能輕松創(chuàng)建、讀取、修改和轉(zhuǎn)換 Excel 文件。
如果你使用 Maven 項(xiàng)目,可在 pom.xml 中添加以下依賴:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>5.3.0</version>
</dependency>
也可以從該鏈接下載產(chǎn)品包后手動(dòng)引入jar包:下載免費(fèi)Java Excel控件
Java代碼示例
1. 寫(xiě)入文本、或數(shù)值到 Excel單元格
我們可以通過(guò)以下兩種方式寫(xiě)入數(shù)據(jù)到指定單元格:
- 寫(xiě)入文本:
Worksheet.get().setText()或Worksheet.get().setValue()方法。 - 寫(xiě)入數(shù)字:
Worksheet.get().setNumberValue()屬性
import com.spire.xls.*;
public class WriteTextNumber {
public static void main(String[] args) {
// 創(chuàng)建一個(gè)Excel工作簿
Workbook workbook = new Workbook();
// 獲取其中第一張工作表
Worksheet worksheet = workbook.getWorksheets().get(0);
// 寫(xiě)入數(shù)據(jù)到指定單元格
worksheet.get("A1").setText("考號(hào)");
worksheet.get("B1").setText("學(xué)生姓名");
worksheet.get("C1").setValue("所在班級(jí)");
worksheet.get("D1").setValue("考試成績(jī)");
worksheet.get("A2").setValue("TS001");
worksheet.get("B2").setText("陳國(guó)柏");
worksheet.get("C2").setText("5班");
worksheet.get("D2").setNumberValue(97);
worksheet.get("A3").setValue("TS002");
worksheet.get("B3").setText("易江維");
worksheet.get("C3").setText("2班");
worksheet.get("D3").setNumberValue(92);
//設(shè)置字體樣式
worksheet.get("A1:D1").getStyle().getFont().isBold(true);
worksheet.get("A1:D3").getStyle().getFont().setSize(11);
worksheet.get("A1:D3").getStyle().getFont().setFontName("宋體");
// 保存Excel文件
workbook.saveToFile("寫(xiě)入數(shù)據(jù)到單元格.xlsx", ExcelVersion.Version2016);
}
}
生成文件:

2. 寫(xiě)入數(shù)組到 Excel表格
對(duì)于一維或二維數(shù)組,可以使用 Worksheet.insertArray(Object[][] objectArray, int firstRow, int firstColumn) 方法將數(shù)組中的數(shù)據(jù)插入到工作表中指定位置。
import com.spire.xls.*;
public class WriteArrayToWorksheet {
public static void main(String[] args) {
// 創(chuàng)建一個(gè)Excel工作簿
Workbook workbook = new Workbook();
// 獲取其中第一張工作表
Worksheet worksheet = workbook.getWorksheets().get(0);
// 創(chuàng)建一個(gè)二維數(shù)組
String[][] twoDimensionalArray = new String[][]{
{"統(tǒng)計(jì)年份", "城市", "銷售額", "增長(zhǎng)率"},
{"2021", "上海", "150萬(wàn)", "55%"},
{"2021", "杭州", "80萬(wàn)", "-12%"},
{"2021", "北京", "100萬(wàn)", "20%"}
};
// 將數(shù)組寫(xiě)入工作表指定位置
worksheet.insertArray(twoDimensionalArray, 1, 1);
//設(shè)置字體樣式
worksheet.get("A1:D1").getStyle().getFont().isBold(true);
worksheet.get("A1:D4").getStyle().getFont().setSize(11);
worksheet.get("A1:D4").getStyle().getFont().setFontName("宋體");
// 保存Excel文件
workbook.saveToFile("寫(xiě)入數(shù)組.xlsx", ExcelVersion.Version2016);
}
}
生成文件:

3. 寫(xiě)入 DataTable 數(shù)據(jù)到 Excel表格
我們可以定義一個(gè) DataTable 類來(lái)表示數(shù)據(jù)表格并添加數(shù)據(jù)行,然后使用 Worksheet.insertDataTable(DataTable dataTable,boolean columnHeaders, int firstRow, int firstColumn, boolean transTypes) 方法將DataTable的數(shù)據(jù)插入到工作表中指定位置。
import com.spire.data.table.DataRow;
import com.spire.data.table.DataTable;
import com.spire.xls.*;
import java.text.DecimalFormat;
public class WriteDataTableToWorksheet {
public static void main(String[] args) throws Exception {
// 創(chuàng)建一個(gè)Excel工作簿
Workbook workbook = new Workbook();
// 獲取其中第一張工作表
Worksheet worksheet = workbook.getWorksheets().get(0);
// 創(chuàng)建DataTable對(duì)象
DataTable dataTable = new DataTable();
dataTable.getColumns().add("編碼", Integer.class);
dataTable.getColumns().add("產(chǎn)品", String.class);
dataTable.getColumns().add("單價(jià)", DecimalFormat.class);
// 創(chuàng)建行并添加數(shù)據(jù)
DataRow dr = dataTable.newRow();
dr.setInt(0, 110600015);
dr.setString(1,"數(shù)據(jù)線");
dr.setString(2,"8.5");
dataTable.getRows().add(dr);
dr = dataTable.newRow();
dr.setInt(0,110600037);
dr.setString(1,"鼠標(biāo)");
dr.setString(2,"29.9");
dataTable.getRows().add(dr);
dr = dataTable.newRow();
dr.setInt(0,110600021);
dr.setString(1,"網(wǎng)線");
dr.setString(2,"15.5");
dataTable.getRows().add(dr);
// 將datatable中的數(shù)據(jù)寫(xiě)入工作表
worksheet.insertDataTable(dataTable,true,1,1,true);
//設(shè)置字體樣式
worksheet.get("A1:D1").getStyle().getFont().isBold(true);
worksheet.get("A1:D4").getStyle().getFont().setSize(11);
worksheet.get("A1:D4").getStyle().getFont().setFontName("宋體");
// 保存Excel文件
workbook.saveToFile("寫(xiě)入DataTable.xlsx", ExcelVersion.Version2016);
}
}
生成文件:

總結(jié):
通過(guò)以上示例, 我們可以通過(guò)Java編程語(yǔ)言將各種數(shù)據(jù)寫(xiě)入Excel表格。
到此這篇關(guān)于使用Java將各種數(shù)據(jù)寫(xiě)入Excel表格的操作示例的文章就介紹到這了,更多相關(guān)Java數(shù)據(jù)寫(xiě)入Excel表格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于SpringBoot使用MyBatis插件的問(wèn)題
MyBatis-Plus并不能為我們解決所有問(wèn)題,例如一些復(fù)雜的SQL,多表聯(lián)查,我們就需要自己去編寫(xiě)代碼和SQL語(yǔ)句,我們?cè)撊绾慰焖俚慕鉀Q這個(gè)問(wèn)題呢,這個(gè)時(shí)候可以使用MyBatisX插件,今天小編給大家?guī)?lái)了SpringBoot使用MyBatis插件問(wèn)題,感興趣的朋友一起看看吧2022-03-03
SpringMVC開(kāi)發(fā)中十大常見(jiàn)問(wèn)題深度解析與解決方案
在Java Web開(kāi)發(fā)領(lǐng)域,SpringMVC作為一款主流的Web框架,憑借其強(qiáng)大的功能和便捷的開(kāi)發(fā)體驗(yàn)深受開(kāi)發(fā)者喜愛(ài),然而,在實(shí)際使用過(guò)程中,開(kāi)發(fā)者常常會(huì)遇到各種各樣的“坑”,本文將針對(duì)SpringMVC開(kāi)發(fā)中常見(jiàn)的十大問(wèn)題,需要的朋友可以參考下2025-06-06
java線程池實(shí)戰(zhàn)應(yīng)用步驟詳解
這篇文章主要介紹了java線程池實(shí)戰(zhàn)應(yīng)用小結(jié),包括線程池的創(chuàng)建方式,本文給大家分享兩種方式,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2025-04-04
SpringBoot+Querydsl?框架實(shí)現(xiàn)復(fù)雜查詢解析
本篇主要將介紹的是利用spring query dsl框架實(shí)現(xiàn)的服務(wù)端查詢解析和實(shí)現(xiàn)介紹,對(duì)SpringBoot?Querydsl?查詢操作感興趣的朋友一起看看吧2022-05-05
Java 向上轉(zhuǎn)型和向下轉(zhuǎn)型的詳解
這篇文章主要介紹了 Java 向上轉(zhuǎn)型和向下轉(zhuǎn)型的詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04

