使用Java將各種數(shù)據(jù)寫入Excel表格的操作示例
前言
在數(shù)據(jù)處理與管理領域,Excel 憑借其強大的功能和廣泛的應用,成為了數(shù)據(jù)存儲與展示的重要工具。在 Java 開發(fā)過程中,常常需要將不同類型的數(shù)據(jù),如文本、數(shù)值、數(shù)組以及 DataTable 數(shù)據(jù)寫入 Excel 文件,以滿足各種業(yè)務需求。本文將詳細介紹如何使用一個免費 Java庫實現(xiàn)將數(shù)據(jù)導入Excel這一功能,為你在數(shù)據(jù)處理方面提供有力的支持。
安裝免費Java庫
在開始編碼前,需在項目中安裝Free Spire.XLS for Java免費庫。該庫支持多種Excel處理功能,能輕松創(chuàng)建、讀取、修改和轉換 Excel 文件。
如果你使用 Maven 項目,可在 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包:下載免費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("學生姓名");
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);
//設置字體樣式
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)計年份", "城市", "銷售額", "增長率"},
{"2021", "上海", "150萬", "55%"},
{"2021", "杭州", "80萬", "-12%"},
{"2021", "北京", "100萬", "20%"}
};
// 將數(shù)組寫入工作表指定位置
worksheet.insertArray(twoDimensionalArray, 1, 1);
//設置字體樣式
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("單價", 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,"鼠標");
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);
//設置字體樣式
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);
}
}
生成文件:

總結:
通過以上示例, 我們可以通過Java編程語言將各種數(shù)據(jù)寫入Excel表格。
到此這篇關于使用Java將各種數(shù)據(jù)寫入Excel表格的操作示例的文章就介紹到這了,更多相關Java數(shù)據(jù)寫入Excel表格內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JpaRepository如何實現(xiàn)增刪改查并進行單元測試
這篇文章主要介紹了JpaRepository如何實現(xiàn)增刪改查并進行單元測試,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
Java應用注冊成Windows服務實現(xiàn)自啟的教程詳解
這篇文章主要給大家介紹了Java應用注冊成Windows服務實現(xiàn)自啟的教程,文中有詳細的代碼示例和圖文講解供大家參考,具有一定的參考價值,需要的朋友可以參考下2024-02-02
使用mybatis的@Interceptor實現(xiàn)攔截sql的方法詳解
攔截器是一種基于 AOP(面向切面編程)的技術,它可以在目標對象的方法執(zhí)行前后插入自定義的邏輯,本文給大家介紹了使用mybatis的@Interceptor實現(xiàn)攔截sql的方法,需要的朋友可以參考下2024-03-03

