Java使用jxl庫輕松玩轉(zhuǎn)Excel表操作
jxl 是一個非常實用的 Java 庫,專門用于操作 Excel 表格。它可以讓我們輕松地創(chuàng)建、讀取和修改 Excel 文件。下面我就來詳細(xì)給你講講 jxl 在 Excel 表操作處理方面的使用方法。
1. 引入 jxl 庫
首先,你得把 jxl 庫添加到你的項目中。如果你使用的是 Maven 項目,就在 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)文章
SpringBoot項目中application.yml和bootstrap.yml文件的區(qū)別及說明
`application.yml`和`bootstrap.yml`都是Spring Boot項目中的配置文件,但它們在加載時機、用途、優(yōu)先級、配置來源、適用場景和是否必須存在等方面存在區(qū)別2025-03-03
SpringBoot數(shù)據(jù)庫查詢超時配置詳解
這篇文章主要介紹了SpringBoot數(shù)據(jù)庫查詢超時配置,超時配置可以避免長時間占用數(shù)據(jù)庫連接,提高系統(tǒng)的響應(yīng)速度和吞吐量,還可以快速的反饋可以提升用戶體驗,避免用戶因長時間等待而感到挫敗,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-11-11

