使用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表格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JpaRepository如何實現(xiàn)增刪改查并進行單元測試
這篇文章主要介紹了JpaRepository如何實現(xiàn)增刪改查并進行單元測試,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Java應用注冊成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