Java使用jxl庫輕松玩轉(zhuǎn)Excel表操作
jxl 是一個非常實(shí)用的 Java 庫,專門用于操作 Excel 表格。它可以讓我們輕松地創(chuàng)建、讀取和修改 Excel 文件。下面我就來詳細(xì)給你講講 jxl 在 Excel 表操作處理方面的使用方法。
1. 引入 jxl 庫
首先,你得把 jxl 庫添加到你的項(xiàng)目中。如果你使用的是 Maven 項(xiàng)目,就在 pom.xml 文件里添加以下依賴:
<dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </dependency>
2. 創(chuàng)建 Excel 文件
接下來,我們看看如何使用 jxl 創(chuàng)建一個簡單的 Excel 文件。
import java.io.File; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class CreateExcelExample { public static void main(String[] args) { try { // 創(chuàng)建一個可寫的工作簿對象 WritableWorkbook workbook = Workbook.createWorkbook(new File("example.xls")); // 創(chuàng)建一個工作表,參數(shù)為工作表名稱和工作表索引 WritableSheet sheet = workbook.createSheet("Sheet1", 0); // 在工作表的指定單元格添加數(shù)據(jù) Label label = new Label(0, 0, "Hello, jxl!"); sheet.addCell(label); // 寫入數(shù)據(jù)并關(guān)閉工作簿 workbook.write(); workbook.close(); System.out.println("Excel 文件創(chuàng)建成功!"); } catch (Exception e) { e.printStackTrace(); System.out.println("Excel 文件創(chuàng)建失?。? + e.getMessage()); } } }
代碼解釋:
WritableWorkbook workbook = Workbook.createWorkbook(new File("example.xls"));:創(chuàng)建一個可寫的工作簿對象,指定生成的 Excel 文件名為 example.xls。
WritableSheet sheet = workbook.createSheet("Sheet1", 0);:創(chuàng)建一個名為 Sheet1 的工作表,索引為 0,表示第一個工作表。
Label label = new Label(0, 0, "Hello, jxl!");:創(chuàng)建一個標(biāo)簽對象,參數(shù)分別為列索引、行索引和單元格內(nèi)容。
sheet.addCell(label);:將標(biāo)簽添加到工作表的指定單元格。
workbook.write(); workbook.close();:將數(shù)據(jù)寫入文件并關(guān)閉工作簿。
3. 讀取 Excel 文件
下面是使用 jxl 讀取 Excel 文件的示例代碼。
import java.io.File; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; public class ReadExcelExample { public static void main(String[] args) { try { // 創(chuàng)建一個工作簿對象,從指定文件讀取數(shù)據(jù) Workbook workbook = Workbook.getWorkbook(new File("example.xls")); // 獲取第一個工作表 Sheet sheet = workbook.getSheet(0); // 獲取工作表的行數(shù)和列數(shù) int rows = sheet.getRows(); int cols = sheet.getColumns(); // 遍歷工作表的單元格并輸出內(nèi)容 for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { Cell cell = sheet.getCell(j, i); System.out.print(cell.getContents() + "\t"); } System.out.println(); } // 關(guān)閉工作簿 workbook.close(); } catch (Exception e) { e.printStackTrace(); System.out.println("Excel 文件讀取失?。? + e.getMessage()); } } }
代碼解釋:
Workbook workbook = Workbook.getWorkbook(new File("example.xls"));:創(chuàng)建一個工作簿對象,從 example.xls 文件中讀取數(shù)據(jù)。
Sheet sheet = workbook.getSheet(0);:獲取第一個工作表。
int rows = sheet.getRows(); int cols = sheet.getColumns();:獲取工作表的行數(shù)和列數(shù)。
Cell cell = sheet.getCell(j, i);:獲取指定單元格的內(nèi)容。
workbook.close();:關(guān)閉工作簿。
4. 修改 Excel 文件
jxl 也可以用來修改已有的 Excel 文件。下面是一個簡單的示例,將指定單元格的內(nèi)容修改為新的值。
import java.io.File; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableCell; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class ModifyExcelExample { public static void main(String[] args) { try { // 打開現(xiàn)有的工作簿 Workbook existingWorkbook = Workbook.getWorkbook(new File("example.xls")); // 創(chuàng)建一個可寫的工作簿對象,基于現(xiàn)有的工作簿 WritableWorkbook workbook = Workbook.createWorkbook(new File("modified_example.xls"), existingWorkbook); // 獲取第一個工作表 WritableSheet sheet = workbook.getSheet(0); // 修改指定單元格的內(nèi)容 WritableCell cell = sheet.getWritableCell(0, 0); if (cell instanceof Label) { Label label = (Label) cell; label.setString("Modified Content"); } // 寫入數(shù)據(jù)并關(guān)閉工作簿 workbook.write(); workbook.close(); existingWorkbook.close(); System.out.println("Excel 文件修改成功!"); } catch (Exception e) { e.printStackTrace(); System.out.println("Excel 文件修改失?。? + e.getMessage()); } } }
代碼解釋:
Workbook existingWorkbook = Workbook.getWorkbook(new File("example.xls"));:打開現(xiàn)有的 Excel 文件。
WritableWorkbook workbook = Workbook.createWorkbook(new File("modified_example.xls"), existingWorkbook);:創(chuàng)建一個可寫的工作簿對象,基于現(xiàn)有的工作簿,并指定修改后的文件名為 modified_example.xls。
WritableCell cell = sheet.getWritableCell(0, 0);:獲取指定單元格的可寫對象。
label.setString("Modified Content");:修改單元格的內(nèi)容。
workbook.write(); workbook.close(); existingWorkbook.close();:寫入數(shù)據(jù)并關(guān)閉工作簿。
到此這篇關(guān)于Java使用jxl庫輕松玩轉(zhuǎn)Excel表操作的文章就介紹到這了,更多相關(guān)Java jxl操作Excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java計(jì)算器核心算法代碼實(shí)現(xiàn)
今天小編就為大家分享一篇關(guān)于Java計(jì)算器核心算法代碼實(shí)現(xiàn),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01Java 中的字符串替換方法之replace, replaceAll 和 rep
在Java中,字符串的替換是一種常見的操作,特別是在處理文本和格式化輸出時,本文將詳細(xì)討論這些方法的用法、區(qū)別以及示例,感興趣的朋友一起看看吧2024-12-12idea新建mapper.xml文件詳細(xì)步驟如:mybatis-config
這篇文章主要介紹了idea新建xml模板設(shè)置,例如:mybatis-config,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07SpringBoot結(jié)合JWT登錄權(quán)限控制的實(shí)現(xiàn)
本文主要介紹了SpringBoot結(jié)合JWT登錄權(quán)限控制的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Java使用注解實(shí)現(xiàn)防止重復(fù)提交實(shí)例
這篇文章主要介紹了Java使用注解實(shí)現(xiàn)防止重復(fù)提交實(shí)例,在一些項(xiàng)目中由于用戶誤操作,多次點(diǎn)擊表單提交按鈕,會產(chǎn)生很多次的數(shù)據(jù)交互,為了解決這一問題,本文使用注解來實(shí)現(xiàn)防止重復(fù)提交,需要的朋友可以參考下2023-07-07java 學(xué)習(xí)筆記(入門篇)_多選擇結(jié)構(gòu)switch語句
在java中為多路分支選擇流程專門提供了switch語句,switch語句根據(jù)一個表達(dá)式的值,選擇運(yùn)行多個操作中的一個,感興趣的朋友可以了解下2013-01-01SpringBoot如何實(shí)現(xiàn)調(diào)用controller和Service層方法
文章介紹了在SpringBoot中如何在工具類中調(diào)用Controller和Service層的方法,通過創(chuàng)建一個工具類SpringUtil,并在Spring?Boot啟動類中進(jìn)行配置掃描注入,工具類就可以訪問Controller和Service層的方法2025-03-03java基礎(chǔ)知識之FileInputStream流的使用
這篇文章主要介紹了java基礎(chǔ)知識之FileInputStream流的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12