版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/kese7952/article/details/81167318
jxl.jar是通過 java操作excel表格的工具類庫;
jxl.jar包:連結:
https://pan.baidu.com/s/1zCIKvFoFauUp_5UAh0t_4w 密碼:8mpy1. 通過模拟實作建立一個表格,然後模拟添加到表格中資料,實際開發過程中都是通過從資料庫導入到表格中的資料
import java.io.File;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.junit.Test;
/**
* Java 類 導出資料到Excel檔案中去
* @author Mryang
* 連結:https://pan.baidu.com/s/1zCIKvFoFauUp_5UAh0t_4w 密碼:8mpy
* date: 2018-07-23
*/
public class CreateExcel {
@Test
public void fun() throws Exception {
/**
* 1: 執行個體化File檔案對象
*/
File file = new File("D:/program/昆山表.xls");
//1.1 通過file對象 建立新的檔案
file.createNewFile();
/**
* 2:根據已建立号的新檔案 來建立工作簿
* 到此,僅僅是完成了檔案的建立,如果要輸入資料進行可以進行循環傳遞
*/
WritableWorkbook wb = Workbook.createWorkbook(file);
//2.1 通過wb工資簿對象 建立新的表
WritableSheet newSheet = wb.createSheet("第一張表", 0);
/**
* 3: 設定 單元格 資料
*/
Label label = null;
// 3.1 表格的标題
String [] title = {"編号","姓名"};
//3.2 利用标題完成列名的填充
for (int i = 0; i < title.length;i++) {
//Label對象中,存放的參數意思分别是(列,行,資料)
label = new Label(i,0,title[i]);
// 将單元格放置到建立的表中
newSheet.addCell(label);
}
// 放入資料: 循環
for(int i=1;i<10;i++){
//添加編号,第二行第一列
label=new Label(0,i,i+"");
newSheet.addCell(label);
//添加姓名
label=new Label(1,i,"張"+i);
newSheet.addCell(label);
}
/**
* 4 工作簿對象寫入,否則檔案中無資料
*/
wb.write();
//關閉流,釋放資源
wb.close();
}
}
2:讀取excel表格裡面的資料,案例如下所示:
/**
* Excel檔案資料導入到Java控制台中去
* @author Mryang
* 連結:https://pan.baidu.com/s/1zCIKvFoFauUp_5UAh0t_4w 密碼:8mpy
* date: 2018-07-23
*/
public class ReadExcel {
@Test
public void fun2() throws BiffException, Exception {
Workbook workbook=Workbook.getWorkbook(new File("D:/program/昆山表.xls"));
//2:擷取第一個工作表sheet
Sheet sheet=workbook.getSheet(0);
//3:擷取資料
System.out.println("行:"+sheet.getRows());
System.out.println("列:"+sheet.getColumns());
for(int i=0;i<sheet.getRows();i++){
for(int j=0;j<sheet.getColumns();j++){
Cell cell=sheet.getCell(j,i);
System.out.print(cell.getContents()+" ");
}
System.out.println();
}
//最後一步:關閉資源
workbook.close();
}
}
