使用Java將各種數(shù)據(jù)寫入Excel表格的操作示例
前言
在數(shù)據(jù)處理與管理領(lǐng)域,Excel 憑借其強(qiáng)大的功能和廣泛的應(yīng)用,成為了數(shù)據(jù)存儲與展示的重要工具。在 Java 開發(fā)過程中,常常需要將不同類型的數(shù)據(jù),如文本、數(shù)值、數(shù)組以及 DataTable 數(shù)據(jù)寫入 Excel 文件,以滿足各種業(yè)務(wù)需求。本文將詳細(xì)介紹如何使用一個免費(fèi) Java庫實(shí)現(xiàn)將數(shù)據(jù)導(dǎo)入Excel這一功能,為你在數(shù)據(jù)處理方面提供有力的支持。
安裝免費(fèi)Java庫
在開始編碼前,需在項(xiàng)目中安裝Free Spire.XLS for Java免費(fèi)庫。該庫支持多種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)品包后手動引入jar包:下載免費(fèi)Java Excel控件
Java代碼示例
1. 寫入文本、或數(shù)值到 Excel單元格
我們可以通過以下兩種方式寫入數(shù)據(jù)到指定單元格:
- 寫入文本:
Worksheet.get().setText()或Worksheet.get().setValue()方法。 - 寫入數(shù)字:
Worksheet.get().setNumberValue()屬性
import com.spire.xls.*;
public class WriteTextNumber {
public static void main(String[] args) {
// 創(chuàng)建一個Excel工作簿
Workbook workbook = new Workbook();
// 獲取其中第一張工作表
Worksheet worksheet = workbook.getWorksheets().get(0);
// 寫入數(shù)據(jù)到指定單元格
worksheet.get("A1").setText("考號");
worksheet.get("B1").setText("學(xué)生姓名");
worksheet.get("C1").setValue("所在班級");
worksheet.get("D1").setValue("考試成績");
worksheet.get("A2").setValue("TS001");
worksheet.get("B2").setText("陳國柏");
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("寫入數(shù)據(jù)到單元格.xlsx", ExcelVersion.Version2016);
}
}
生成文件:

2. 寫入數(shù)組到 Excel表格
對于一維或二維數(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)建一個Excel工作簿
Workbook workbook = new Workbook();
// 獲取其中第一張工作表
Worksheet worksheet = workbook.getWorksheets().get(0);
// 創(chuàng)建一個二維數(shù)組
String[][] twoDimensionalArray = new String[][]{
{"統(tǒng)計(jì)年份", "城市", "銷售額", "增長率"},
{"2021", "上海", "150萬", "55%"},
{"2021", "杭州", "80萬", "-12%"},
{"2021", "北京", "100萬", "20%"}
};
// 將數(shù)組寫入工作表指定位置
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("寫入數(shù)組.xlsx", ExcelVersion.Version2016);
}
}
生成文件:

3. 寫入 DataTable 數(shù)據(jù)到 Excel表格
我們可以定義一個 DataTable 類來表示數(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)建一個Excel工作簿
Workbook workbook = new Workbook();
// 獲取其中第一張工作表
Worksheet worksheet = workbook.getWorksheets().get(0);
// 創(chuàng)建DataTable對象
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ù)寫入工作表
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("寫入DataTable.xlsx", ExcelVersion.Version2016);
}
}
生成文件:

總結(jié):
通過以上示例, 我們可以通過Java編程語言將各種數(shù)據(jù)寫入Excel表格。
到此這篇關(guān)于使用Java將各種數(shù)據(jù)寫入Excel表格的操作示例的文章就介紹到這了,更多相關(guān)Java數(shù)據(jù)寫入Excel表格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringMVC開發(fā)中十大常見問題深度解析與解決方案
在Java Web開發(fā)領(lǐng)域,SpringMVC作為一款主流的Web框架,憑借其強(qiáng)大的功能和便捷的開發(fā)體驗(yàn)深受開發(fā)者喜愛,然而,在實(shí)際使用過程中,開發(fā)者常常會遇到各種各樣的“坑”,本文將針對SpringMVC開發(fā)中常見的十大問題,需要的朋友可以參考下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)介紹,對SpringBoot?Querydsl?查詢操作感興趣的朋友一起看看吧2022-05-05
Java 向上轉(zhuǎn)型和向下轉(zhuǎn)型的詳解
這篇文章主要介紹了 Java 向上轉(zhuǎn)型和向下轉(zhuǎn)型的詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04

