Java使用jxl庫(kù)輕松玩轉(zhuǎn)Excel表操作
jxl 是一個(gè)非常實(shí)用的 Java 庫(kù),專門(mén)用于操作 Excel 表格。它可以讓我們輕松地創(chuàng)建、讀取和修改 Excel 文件。下面我就來(lái)詳細(xì)給你講講 jxl 在 Excel 表操作處理方面的使用方法。
1. 引入 jxl 庫(kù)
首先,你得把 jxl 庫(kù)添加到你的項(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 文件
接下來(lái),我們看看如何使用 jxl 創(chuàng)建一個(gè)簡(jiǎn)單的 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)建一個(gè)可寫(xiě)的工作簿對(duì)象
WritableWorkbook workbook = Workbook.createWorkbook(new File("example.xls"));
// 創(chuàng)建一個(gè)工作表,參數(shù)為工作表名稱和工作表索引
WritableSheet sheet = workbook.createSheet("Sheet1", 0);
// 在工作表的指定單元格添加數(shù)據(jù)
Label label = new Label(0, 0, "Hello, jxl!");
sheet.addCell(label);
// 寫(xiě)入數(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)建一個(gè)可寫(xiě)的工作簿對(duì)象,指定生成的 Excel 文件名為 example.xls。
WritableSheet sheet = workbook.createSheet("Sheet1", 0);:創(chuàng)建一個(gè)名為 Sheet1 的工作表,索引為 0,表示第一個(gè)工作表。
Label label = new Label(0, 0, "Hello, jxl!");:創(chuàng)建一個(gè)標(biāo)簽對(duì)象,參數(shù)分別為列索引、行索引和單元格內(nèi)容。
sheet.addCell(label);:將標(biāo)簽添加到工作表的指定單元格。
workbook.write(); workbook.close();:將數(shù)據(jù)寫(xiě)入文件并關(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)建一個(gè)工作簿對(duì)象,從指定文件讀取數(shù)據(jù)
Workbook workbook = Workbook.getWorkbook(new File("example.xls"));
// 獲取第一個(gè)工作表
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)建一個(gè)工作簿對(duì)象,從 example.xls 文件中讀取數(shù)據(jù)。
Sheet sheet = workbook.getSheet(0);:獲取第一個(gè)工作表。
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 也可以用來(lái)修改已有的 Excel 文件。下面是一個(gè)簡(jiǎn)單的示例,將指定單元格的內(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 {
// 打開(kāi)現(xiàn)有的工作簿
Workbook existingWorkbook = Workbook.getWorkbook(new File("example.xls"));
// 創(chuàng)建一個(gè)可寫(xiě)的工作簿對(duì)象,基于現(xiàn)有的工作簿
WritableWorkbook workbook = Workbook.createWorkbook(new File("modified_example.xls"), existingWorkbook);
// 獲取第一個(gè)工作表
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");
}
// 寫(xiě)入數(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"));:打開(kāi)現(xiàn)有的 Excel 文件。
WritableWorkbook workbook = Workbook.createWorkbook(new File("modified_example.xls"), existingWorkbook);:創(chuàng)建一個(gè)可寫(xiě)的工作簿對(duì)象,基于現(xiàn)有的工作簿,并指定修改后的文件名為 modified_example.xls。
WritableCell cell = sheet.getWritableCell(0, 0);:獲取指定單元格的可寫(xiě)對(duì)象。
label.setString("Modified Content");:修改單元格的內(nèi)容。
workbook.write(); workbook.close(); existingWorkbook.close();:寫(xiě)入數(shù)據(jù)并關(guān)閉工作簿。
到此這篇關(guān)于Java使用jxl庫(kù)輕松玩轉(zhuǎn)Excel表操作的文章就介紹到這了,更多相關(guān)Java jxl操作Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項(xiàng)目中application.yml和bootstrap.yml文件的區(qū)別及說(shuō)明
`application.yml`和`bootstrap.yml`都是Spring Boot項(xiàng)目中的配置文件,但它們?cè)诩虞d時(shí)機(jī)、用途、優(yōu)先級(jí)、配置來(lái)源、適用場(chǎng)景和是否必須存在等方面存在區(qū)別2025-03-03
Java自定義簡(jiǎn)單標(biāo)簽實(shí)例
Java自定義簡(jiǎn)單標(biāo)簽可以方便的在頁(yè)面輸出信息,并且對(duì)于權(quán)限的控制,和對(duì)于Jsp標(biāo)簽和servlet代碼的分離有著很好的作用2013-07-07
SpringBoot數(shù)據(jù)庫(kù)查詢超時(shí)配置詳解
這篇文章主要介紹了SpringBoot數(shù)據(jù)庫(kù)查詢超時(shí)配置,超時(shí)配置可以避免長(zhǎng)時(shí)間占用數(shù)據(jù)庫(kù)連接,提高系統(tǒng)的響應(yīng)速度和吞吐量,還可以快速的反饋可以提升用戶體驗(yàn),避免用戶因長(zhǎng)時(shí)間等待而感到挫敗,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-11-11

