Java Spire.XLS快速創(chuàng)建與讀取Excel的實(shí)戰(zhàn)技巧
在現(xiàn)代軟件開發(fā)中,Excel 文檔的管理和操作是一個(gè)常見的需求。無論是在數(shù)據(jù)分析、報(bào)表生成,還是在管理信息系統(tǒng)中,Excel 都扮演著重要的角色。本文將介紹如何使用 Spire.XLS for Java 庫,以便輕松地讀寫 Excel 文檔。
Spire.XLS for Java 簡介
Spire.XLS 是一款強(qiáng)大的 Java Excel 組件,支持高效的 Excel 文件創(chuàng)建、編輯、讀取和轉(zhuǎn)換功能。無論是 .xlsx 還是 .xls 格式的文件,這個(gè)庫都能輕松處理。它不僅提供了廣泛的 API,還具備快速的性能和良好的文檔支持,使得開發(fā)者在處理表格時(shí)更加高效。
使用 Maven 安裝 Spire.XLS for Java
如果你的項(xiàng)目使用 Maven 作為構(gòu)建工具,可以通過在 pom.xml 文件中添加以下依賴來安裝 Spire.XLS:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>15.12.15</version>
</dependency>
</dependencies>
這樣,Maven 會(huì)自動(dòng)下載并包含所需的庫文件,方便你在項(xiàng)目中使用。
讀取 Excel 文件
在這一部分,我們將介紹如何讀取 Excel 文件中的數(shù)據(jù)。以下是一個(gè)簡單的示例代碼,展示了如何加載已有的 Excel 文件,并輸出其內(nèi)容。
import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ReadData {
public static void main(String[] args) {
// 創(chuàng)建一個(gè) Workbook 對象
Workbook wb = new Workbook();
// 加載現(xiàn)有的 Excel 文件
wb.loadFromFile("C:/Users/Administrator/Desktop/NewSpreadsheet.xlsx");
// 獲取第一個(gè)工作表
Worksheet sheet = wb.getWorksheets().get(0);
// 獲取包含數(shù)據(jù)的單元格范圍
CellRange locatedRange = sheet.getAllocatedRange();
// 遍歷行
for (int i = 0; i < locatedRange.getRows().length; i++) {
// 遍歷列
for (int j = 0; j < locatedRange.getColumnCount(); j++) {
// 獲取特定單元格的數(shù)據(jù)
System.out.print(locatedRange.get(i + 1, j + 1).getValue() + " ");
}
System.out.println();
}
}
}
代碼解析
- Workbook 對象 :創(chuàng)建一個(gè)
Workbook對象,用于加載 Excel 文件。 - 加載文件 :通過
loadFromFile方法加載存在的 Excel 文件。 - 獲取工作表 :通過
getWorksheets().get(0)方法獲得第一個(gè)工作表。 - 遍歷數(shù)據(jù) :使用雙重循環(huán)遍歷每一行和每一列,打印出單元格中的值。
寫入 Excel 文件
接下來,我們將展示如何創(chuàng)建新的 Excel 文件,設(shè)置工作表的基本信息,并寫入數(shù)據(jù)。
import com.spire.xls.*;
public class CreateSpreadsheet {
public static void main(String[] args) {
// 創(chuàng)建一個(gè) Workbook 對象
Workbook wb = new Workbook();
// 移除默認(rèn)工作表
wb.getWorksheets().clear();
// 添加一個(gè)名為 "員工" 的工作表
Worksheet sheet = wb.getWorksheets().add("員工");
// 合并 A1 到 G1 的單元格
sheet.getRange().get("A1:G1").merge();
// 向 A1 寫入數(shù)據(jù)并應(yīng)用格式
sheet.getRange().get("A1").setValue("華宇汽車公司員工基本信息");
sheet.getRange().get("A1").setHorizontalAlignment(HorizontalAlignType.Center);
sheet.getRange().get("A1").setVerticalAlignment(VerticalAlignType.Center);
sheet.getRange().get("A1").getStyle().getFont().isBold(true);
sheet.getRange().get("A1").getStyle().getFont().setSize(13);
// 設(shè)置第一行的高度
sheet.setRowHeight(1, 30);
// 創(chuàng)建一個(gè)二維數(shù)組
String[][] twoDimensionalArray = new String[][]{
{"姓名", "性別", "出生日期", "學(xué)歷", "聯(lián)系電話", "職位", "編號(hào)"},
{"艾倫", "男", "1990-02-10", "本科", "24756854", "機(jī)械師", "0021"},
{"帕特里克", "男", "1985-06-08", "碩士", "59863247", "機(jī)械師", "0022"},
{"珍娜", "女", "1989-11-25", "本科", "79540352", "銷售", "0023"},
{"湯米", "男", "1988-04-16", "碩士", "52014060", "機(jī)械師", "0024"},
{"克里斯蒂娜", "女", "1998-01-21", "本科", "35401489", "人力資源", "0025"}
};
// 從數(shù)組導(dǎo)入數(shù)據(jù)到工作表
sheet.insertArray(twoDimensionalArray, 2, 1);
// 設(shè)置一個(gè)范圍的行高
sheet.getRange().get("A2:G7").setRowHeight(15);
// 設(shè)置列寬
sheet.setColumnWidth(2, 15);
sheet.setColumnWidth(3, 21);
sheet.setColumnWidth(4, 15);
// 設(shè)置邊框樣式
sheet.getRange().get("A2:G7").borderAround(LineStyleType.Medium);
sheet.getRange().get("A2:G7").borderInside(LineStyleType.Thin);
sheet.getRange().get("A2:G2").borderAround(LineStyleType.Medium);
sheet.getRange().get("A2:G7").getBorders().setKnownColor(ExcelColors.Black);
// 保存為 .xlsx 文件
wb.saveToFile("output/NewSpreadsheet.xlsx", FileFormat.Version2016);
}
}
代碼解析
- Workbook 對象 :創(chuàng)建一個(gè)新的 Workbook 對象。
- 刪除默認(rèn)工作表 :通過 clear 方法刪除默認(rèn)的工作表。
- 添加工作表 :創(chuàng)建一個(gè)名為 "員工" 的工作表。
- 合并單元格 :合并 A1 到 G1 的單元格。
- 寫入數(shù)據(jù) :設(shè)置 A1 單元格的值,并調(diào)整其格式。
- 插入數(shù)組數(shù)據(jù) :將二維數(shù)組的數(shù)據(jù)插入到工作表中。
- 設(shè)置邊框和格式 :設(shè)置行高、列寬及單元格的邊框樣式。
- 保存文件 :將工作簿保存為一個(gè)新的 Excel 文件。
總結(jié)
通過使用 Spire.XLS for Java 程序庫,我們可以方便地處理 Excel 文檔。無論是讀取已有的數(shù)據(jù),還是生成新的表格,Spire.XLS 都提供了極大的便利。它簡單易用的 API 和豐富的功能特性,使得 Java 開發(fā)者能夠輕松實(shí)現(xiàn)各種 Excel 操作。
到此這篇關(guān)于Java Spire.XLS快速創(chuàng)建與讀取Excel的實(shí)戰(zhàn)技巧的文章就介紹到這了,更多相關(guān)Java創(chuàng)建與讀取Excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java利用Spire.XLS for Java自動(dòng)化設(shè)置Excel的文檔屬性
- Java利用Spire.XLS for Java在Excel中添加或刪除批注
- Java利用Spire.XLS for Java實(shí)現(xiàn)在Excel文件中添加或刪除分節(jié)符
- Java使用 Spire.XLS 庫合并Excel文件的常見方法詳解
- Java利用Spire.XLS for Java輕松獲取Excel工作表的名稱
- Java利用Spire.XLS for Java設(shè)置Excel表格邊框
- Java基于Spire.XLS實(shí)現(xiàn)從Excel到PDF的發(fā)票自動(dòng)化生成
相關(guān)文章
基于java socket實(shí)現(xiàn) 聊天小程序
這篇文章主要介紹了基于java socket實(shí)現(xiàn) 聊天小程序,代碼分為服務(wù)器和客戶端,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
java數(shù)據(jù)結(jié)構(gòu)循環(huán)隊(duì)列的空滿判斷及長度計(jì)算
這篇文章主要為大家介紹了java數(shù)據(jù)結(jié)構(gòu)循環(huán)隊(duì)列的空滿判斷及長度計(jì)算,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
eclipse啟動(dòng)tomcat無法訪問的解決方法
這篇文章介紹了eclipse啟動(dòng)tomcat無法訪問的解決方法,有需要的朋友可以參考一下2013-10-10
Java日志框架打印應(yīng)用程序日志代碼的執(zhí)行情況分析
在配置INFO日志級(jí)別時(shí),日志器(logger)中debug級(jí)的日志代碼仍會(huì)被執(zhí)行,只是是否輸出取決于配置的日志級(jí)別,本文基于Java 1.8、SLF4J 1.7.25和Log4j 2.20.0進(jìn)行實(shí)驗(yàn),詳述了日志框架處理日志代碼的機(jī)制,感興趣的朋友一起看看吧2024-10-10
Spring?Cloud?Hystrix原理與注意事項(xiàng)小結(jié)
本文介紹了Hystrix的基本概念、工作原理以及其在實(shí)際開發(fā)中的應(yīng)用方式,通過對Hystrix的深入學(xué)習(xí),開發(fā)者可以在分布式系統(tǒng)中實(shí)現(xiàn)精細(xì)的錯(cuò)誤處理機(jī)制,并能夠及時(shí)響應(yīng)系統(tǒng)中的異常,避免服務(wù)的連鎖崩潰,感興趣的朋友一起看看吧2025-03-03
idea創(chuàng)建springboot項(xiàng)目和springcloud項(xiàng)目的詳細(xì)教程
這篇文章主要介紹了idea創(chuàng)建springboot項(xiàng)目和springcloud項(xiàng)目方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
詳解Spring Boot Web項(xiàng)目之參數(shù)綁定
本篇文章主要介紹了詳解Spring Boot Web項(xiàng)目之參數(shù)綁定,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03

