Java Spire.XLS快速創(chuàng)建與讀取Excel的實(shí)戰(zhàn)技巧
在現(xiàn)代軟件開(kāi)發(fā)中,Excel 文檔的管理和操作是一個(gè)常見(jiàn)的需求。無(wú)論是在數(shù)據(jù)分析、報(bào)表生成,還是在管理信息系統(tǒng)中,Excel 都扮演著重要的角色。本文將介紹如何使用 Spire.XLS for Java 庫(kù),以便輕松地讀寫(xiě) Excel 文檔。
Spire.XLS for Java 簡(jiǎn)介
Spire.XLS 是一款強(qiáng)大的 Java Excel 組件,支持高效的 Excel 文件創(chuàng)建、編輯、讀取和轉(zhuǎn)換功能。無(wú)論是 .xlsx 還是 .xls 格式的文件,這個(gè)庫(kù)都能輕松處理。它不僅提供了廣泛的 API,還具備快速的性能和良好的文檔支持,使得開(kāi)發(fā)者在處理表格時(shí)更加高效。
使用 Maven 安裝 Spire.XLS for Java
如果你的項(xiàng)目使用 Maven 作為構(gòu)建工具,可以通過(guò)在 pom.xml 文件中添加以下依賴來(lái)安裝 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)下載并包含所需的庫(kù)文件,方便你在項(xiàng)目中使用。
讀取 Excel 文件
在這一部分,我們將介紹如何讀取 Excel 文件中的數(shù)據(jù)。以下是一個(gè)簡(jiǎn)單的示例代碼,展示了如何加載已有的 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 對(duì)象
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 對(duì)象 :創(chuàng)建一個(gè)
Workbook對(duì)象,用于加載 Excel 文件。 - 加載文件 :通過(guò)
loadFromFile方法加載存在的 Excel 文件。 - 獲取工作表 :通過(guò)
getWorksheets().get(0)方法獲得第一個(gè)工作表。 - 遍歷數(shù)據(jù) :使用雙重循環(huán)遍歷每一行和每一列,打印出單元格中的值。
寫(xiě)入 Excel 文件
接下來(lái),我們將展示如何創(chuàng)建新的 Excel 文件,設(shè)置工作表的基本信息,并寫(xiě)入數(shù)據(jù)。
import com.spire.xls.*;
public class CreateSpreadsheet {
public static void main(String[] args) {
// 創(chuàng)建一個(gè) Workbook 對(duì)象
Workbook wb = new Workbook();
// 移除默認(rèn)工作表
wb.getWorksheets().clear();
// 添加一個(gè)名為 "員工" 的工作表
Worksheet sheet = wb.getWorksheets().add("員工");
// 合并 A1 到 G1 的單元格
sheet.getRange().get("A1:G1").merge();
// 向 A1 寫(xiě)入數(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 對(duì)象 :創(chuàng)建一個(gè)新的 Workbook 對(duì)象。
- 刪除默認(rèn)工作表 :通過(guò) clear 方法刪除默認(rèn)的工作表。
- 添加工作表 :創(chuàng)建一個(gè)名為 "員工" 的工作表。
- 合并單元格 :合并 A1 到 G1 的單元格。
- 寫(xiě)入數(shù)據(jù) :設(shè)置 A1 單元格的值,并調(diào)整其格式。
- 插入數(shù)組數(shù)據(jù) :將二維數(shù)組的數(shù)據(jù)插入到工作表中。
- 設(shè)置邊框和格式 :設(shè)置行高、列寬及單元格的邊框樣式。
- 保存文件 :將工作簿保存為一個(gè)新的 Excel 文件。
總結(jié)
通過(guò)使用 Spire.XLS for Java 程序庫(kù),我們可以方便地處理 Excel 文檔。無(wú)論是讀取已有的數(shù)據(jù),還是生成新的表格,Spire.XLS 都提供了極大的便利。它簡(jiǎn)單易用的 API 和豐富的功能特性,使得 Java 開(kāi)發(fā)者能夠輕松實(shí)現(xiàn)各種 Excel 操作。
到此這篇關(guān)于Java Spire.XLS快速創(chuàng)建與讀取Excel的實(shí)戰(zhàn)技巧的文章就介紹到這了,更多相關(guān)Java創(chuàng)建與讀取Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(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 庫(kù)合并Excel文件的常見(jiàn)方法詳解
- 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)文章
springboot實(shí)現(xiàn)rabbitmq消息確認(rèn)的示例代碼
RabbitMQ的消息確認(rèn)有兩種, 一種是消息發(fā)送確認(rèn),第二種是消費(fèi)接收確認(rèn),本文主要介紹了springboot實(shí)現(xiàn)rabbitmq消息確認(rèn)的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
SpringBoot+MySQL實(shí)現(xiàn)讀寫(xiě)分離的多種具體方案
在高并發(fā)和大數(shù)據(jù)量的場(chǎng)景下,數(shù)據(jù)庫(kù)成為了系統(tǒng)的瓶頸。為了提高數(shù)據(jù)庫(kù)的處理能力和性能,讀寫(xiě)分離成為了一種常用的解決方案,本文將介紹在Spring?Boot項(xiàng)目中實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)讀寫(xiě)分離的多種具體方案,需要的朋友可以參考下2023-06-06
Java 過(guò)濾器實(shí)現(xiàn)敏感詞匯過(guò)濾功能
通過(guò)使用 Java 過(guò)濾器,我們可以輕松地實(shí)現(xiàn)敏感詞匯過(guò)濾的功能,以保護(hù)用戶免受不良內(nèi)容的侵害,讓我們通過(guò)一個(gè)簡(jiǎn)單的示例來(lái)演示我們的敏感詞匯過(guò)濾器是如何工作的,感興趣的朋友一起看看吧2024-01-01
Java使用JSONPath解析JSON完整內(nèi)容詳解
這篇文章主要介紹了Java使用JSONPath解析JSON完整內(nèi)容詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

