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 會自動下載并包含所需的庫文件,方便你在項(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)系電話", "職位", "編號"},
{"艾倫", "男", "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自動化設(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ā)票自動化生成
相關(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)讀寫分離的多種具體方案
在高并發(fā)和大數(shù)據(jù)量的場景下,數(shù)據(jù)庫成為了系統(tǒng)的瓶頸。為了提高數(shù)據(jù)庫的處理能力和性能,讀寫分離成為了一種常用的解決方案,本文將介紹在Spring?Boot項(xiàng)目中實(shí)現(xiàn)MySQL數(shù)據(jù)庫讀寫分離的多種具體方案,需要的朋友可以參考下2023-06-06
Java使用JSONPath解析JSON完整內(nèi)容詳解
這篇文章主要介紹了Java使用JSONPath解析JSON完整內(nèi)容詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

