導航:首頁 > 文件類型 > jxl讀寫excel文件

jxl讀寫excel文件

發布時間:2023-05-30 00:31:08

Ⅰ 求助關於jxl寫大批量數據的Excel

jxl是一個韓國人寫的java操作excel的工具, 在開源世界中,有兩套比較有影響的API可 供使用,一個是POI,一個是jExcelAPI。其中功能相對POI比較弱一點。
try {
// Excel獲得文件
Workbook wb = Workbook.getWorkbook( new File( " test.xls " ));
// 打開一個文件的副本,並且指定數據寫回到原文件
WritableWorkbook book = Workbook.createWorkbook( new File( " test.xls " ),
wb);
// 添加一個工作表
WritableSheet sheet = book.createSheet( " 第二頁 " , 1 );
sheet.addCell( new Label( 0 , 0 , " 第二頁的測試數據 " ));
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}

Ⅱ jxl讀取excel

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class JxlUtil {

public static String getTelnoFromXSL(int rowid, int fromrowno,
String xlspath) {

Workbook book = null;
try {
book = Workbook.getWorkbook(new java.io.File(xlspath));
} catch (BiffException ex) {
System.out.println("Read Excel file failed!");
System.out.println("File name: " + xlspath);
System.exit(0);

} catch (IOException ex) {
System.out.println("Read Excel file failed!");
System.out.println("File name: " + xlspath);
System.exit(0);

}

// get sheet object
Sheet sheet = book.getSheet(0);
String result;
int i = 0;
int rowcnt = sheet.getRows();
String[] telstr;
if(fromrowno+100<=rowcnt){
telstr= new String[100];
}else{
telstr= new String[rowcnt-fromrowno];
}
for (i = 0; i < telstr.length; i++) {
result = "";
Cell cell = sheet.getCell(rowid, i + fromrowno);
result = cell.getContents();
result = result.trim();
if (!result.equals("")) {
telstr[i] = result;
}
}

book.close();
String resultstr = array_unique(telstr);
return resultstr;
}
}

Ⅲ jxl讀取excel文件

jxl是打開excel格式的文件讀取單元格內容的,formula設置公式的單元格在沒有excel程序打開的情況下是不會自動計算的。
「他所讀出來的碼亂值都為4」4可能代表單元格的類型,公式類型。

可以使用遲羨檔派空Office的專用中間件SOAOffice來解決,編程簡單,讀取公式計算的值也沒問題

Ⅳ 為什麼jxl 讀取excel摸板再動態寫入是出現警告

第一步:選擇模板文件:
Workbook wb = Workbook.getWorkbook(new File(realpath));

第二步:通過模板得到一個可寫的Workbook:
WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb);
第一個參數是一個輸出流對象,比如可以
ByteArrayOutputStream targetFile = new ByteArrayOutputStream();
這畢脊樣定義這個輸出流對象。第二個手逗滲參數代表了要讀取的模板。

第三步:選擇模板中名稱為StateResult的Sheet:
WritableSheet wws = wwb.getSheet("StateResult");
如果需要也可以創建Sheet
WritableSheet wws = wwb.createSheet("Sheet名稱",i);

第四步:選擇單元格,寫入動態值,根據單元格的不同類型轉換成相應類指祥型的單元格:
Label A1 = (Label)wws.getWritableCell(0,0);
A1.setString("單元格內容")

Number A2 = (Number)wws.getWritableCell(0,1);//Number是jxl.write.Number
A2.setValue(3.3);
也可以創建新的單元格並且加入到Sheet中
Label C1 = new Label(2,0,"單元格內容");
wws.addCell(C1);

Number C1 = new Number(2,0,3.3);
wws.addCell(C1);

在生成Excel報表的時候還會遇到一種需求就是數據的格式問題,我們可能希望數值型單元格以某種格式顯示,而字元串型單元格以另

一種格式顯示。這些可以通過WritableFont、NumberFormat、WritableCellFormat等實現,下例給單元格A1、A2添加了不同的格式。

Ⅳ 用jxl讀取excel文件,調用getsheet()時,遇到number類型的單元格時拋出異常

代碼里應該有這樣的蠢脊中代碼:
String a = (String)list.get(23);
這里list長度應該是22(你可以get(0~22)的值),在去第23個值的時候野爛超帶山出了list 的長度。

相應的這里的rs = rwb.getSheet(j)取值時應該滿足:j的值在0~22;23就list越界了。

Ⅵ java中用jxl怎樣將查詢結果寫入到excel

將查尋到的結絕罩果放到Vector對象中,其他的見下面代碼

response:action類中的HttpServletResponse;
filename:要生成的保存的並悉鬧預設的Excel文件名
sheetname:要保存的工作表的名稱
titles:工作表中的表格橫向標題
vect:數據行
*/
public boolean exportToExcel(HttpServletResponse response, String filename, String sheetname, String[] titles, Vector vector) throws Exception {
OutputStream os = null;
boolean b1 = true;
try {
os = response.getOutputStream(); //取得輸出流
response.reset(); //清空輸出流
response.setHeader("Content-disposition", "attachment; filename=" + filename + ".xls"); //設定輸出文件頭
response.setContentType("application/msexcel"); //定義輸出類型
} catch (IOException ex) {
b1 = false;
System.out.println("流操作錯誤:" + ex.getMessage());
}
WritableWorkbook workbook = null;
try {
//創建新的Excel 工作簿
workbook = Workbook.createWorkbook(os);
//在Excel工作簿中建一工作表,其名為:第一頁
jxl.write.WritableSheet wsheet = workbook.createSheet(sheetname, 0); //sheet();
WritableFont font = new WritableFont(WritableFont.ARIAL, 12,
WritableFont.BOLD, false,
jxl.format.UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.BLACK);
WritableCellFormat format = new WritableCellFormat(font);
for (int i = 0; i < titles.length; i++) {
Label wlabel1 = new Label(i, 0, titles[i], format); //行陸碰、列、單元格中的文本、文本格式
wsheet.addCell(wlabel1);
}
font = new jxl.write.WritableFont(WritableFont.createFont("宋體"), 12,
WritableFont.NO_BOLD, false,
jxl.format.UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.BLACK);
format = new jxl.write.WritableCellFormat(font);
for (int i = 1; i <= vector.size(); i++) { // 在索引0的位置創建行(最頂端的行)
String[] sdata = (String[]) vector.elementAt(i-1);
for (int j = 0; j < sdata.length; j++) { //在索引0的位置創建單元格(左上端)
Label wlabel1 = new Label(j, i, sdata[j], format); //行、列、單元格中的文本、文本格式
wsheet.addCell(wlabel1);
// System.out.println(sdata[j] + ":::" + sdata[j]);
}
}
workbook.write(); //寫入文件
} catch (WriteException ex1) {
b1 = false;
System.out.println("WriteException:" + ex1.getMessage());
} catch (IOException ex2) {
b1 = false;
System.out.println("IOException:" + ex2.getMessage());
}
workbook.close();
os.close();
return b1;

}

Ⅶ JXL導入EXCEL怎麼做,就是最基本的,請詳細寫一下JXL配置的方法

JXL(Java Excel API)是一個用來動態讀寫Excel文件的開源框架,利用它可以在任何支持Java的操作系統上動態讀寫Excel文件。JXL的主頁是:http://www.andykhan.com/jexcelapi/,可以在這里下載到它的最新的版本
你可以分別通過如下命令
java -jar jxl.jar -xml test.xls
java -jar jxl.jar -cvs test.xls
以xml和cvs格式查看test.xls,這是因為JXL作者實現了一個用來演示的jxl.demo.Demo的類。

當然我們使用JXL主要是用它來動態讀寫Excel文件。現在就來看看JXL在對Excel的讀和寫上都提供了那些支持。
先來看看Excel文件中都有寫上面對象
1 文件對象 2工作簿對象 3 單元格對象。
相應的在JXL中就有Workbook,Sheet ,Cell 。通過這三個對象我們就可以實現Excel文件的讀取工作。
我們先想想一下讀取步驟,不管是什麼樣的Excel操作框架必定都要經歷
1選取Excel文件,2選擇工作簿,3選擇Cell,4讀取信息。
那麼現在就可以看看JXL中這四步驟如何體現:
//通過Workbook的靜態方法getWorkbook選取Excel文件
Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));

//通過Workbook的getSheet方法選擇第一個工作簿(從0開始)
Sheet sheet = workbook.getSheet(0);

//通過Sheet方法的getCell方法選擇位置為C2的單元格(兩個參數都從0開始)
Cell c2 = sheet.getCell(2,1);

//通過Cell的getContents方法把單元格中的信息以字元的形式讀取出來
String stringc2 = c2.getContents();

可以看到正是剛才所說的四個步驟。

我們都知道Excel單元格是有格式的,那麼這些信息如何取得。
Cell提供了一個getType方法能夠返回單元格的類型信息,同時JXL提供了一個CellType類用來預設Excel中的類型信息,而且JXL提供了一些Cell類的子類用來分別用來表示各種類型的單元格,如LabelCell,NumberCell,DateCell分別表示字元、數值、日期類型的單元格。所以我們可以這樣寫:
if (c2.getType() == CellType.NUMBER)
{
NumberCell nc = (NumberCell) c2;
numberb2 = nc.getValue();
}

最後不要忘記關閉workbook以釋放資源:
workbook.close();
現在總結一下:三個對象,四個步驟,注意格式。就可以輕松的從Excel文件中讀取數據。

Ⅷ java 高分求助 用jxl讀寫Excel的問題,急急急急急急急~~~~~~

你是想往excel中追加數據旦咐嗎亮遲則?
我試一下。

另外,我覺得主要的原因是
at wordscreat.ExcelWriter.<init>(ExcelWriter.java:51java.lang.NullPointerException

你有那一個對象沒有控制好,出現了敬棚空指針。

Ⅸ java jxl 大量數據寫入excel,比如上千萬條

考慮輸出到多個excel文件吧
文件過大,很容易撐爆內存
另 jxl 僅僅對2003的支持較好,單個sheet只能寫入65536個格子

Ⅹ 怎樣用java.jxl實現讀取excel的數據求具體代碼(以讀取3列為例)

import java.io.File;
import java.io.IOException;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class MyExcel {
public static void main(String[] args) {
try {
Workbook workbook = Workbook.getWorkbook(new File("C:\\myfile.xls"));
Sheet sheet = workbook.getSheet(0);//使用第一個工作表
int colnum = sheet.getColumns();//獲取列數,如果一定要3列,直接改3就行
int row = sheet.getRows();//獲取行數
StringBuffer sb = new StringBuffer();
for(int i=0;i<row;i++){
for(int j=0;j<colnum;j++){
Cell c = sheet.getCell(j,i);//獲得單元數據
sb.append(c.getContents()+"\n");
}
}
workbook.close();
System.out.println(sb);
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
這個寫法有很多種,這里只是給您參考。要讀取內容關鍵是以下幾步:
1.創建一個可讀取的excel文件對象
Workbook workbook = Workbook.getWorkbook(new File("C:\\myfile.xls"));//注意文件路徑
2.獲取工作表
Sheet sheet = workbook.getSheet(0);//使用第一個工作表
3.獲取單元格數據,我的例子里是通過循環獲取所有的數據
sheet.getCell(j,i);
4.最後把獲取的數據做你所需要的處理。
sb.append(c.getContents()+"\n");//我這里把它加到了StringBuffer里。

閱讀全文

與jxl讀寫excel文件相關的資料

熱點內容
鐵路與大數據分析產生什麼結果 瀏覽:572
如何把文件轉為種子 瀏覽:59
玩股票杠桿用什麼app 瀏覽:999
怎麼用q幣充qq紅包 瀏覽:140
海外代購app哪個比較好 瀏覽:729
手機改qq密碼怎麼改 瀏覽:238
api壓縮文件夾 瀏覽:847
網路營銷中營銷策略都有哪些 瀏覽:926
mat格式文件數據類型 瀏覽:132
手機文件刪除如何恢復 瀏覽:682
如何計算帶有指數的數據 瀏覽:243
手機數據存儲在主板的哪裡 瀏覽:151
什麼網站物品最實惠 瀏覽:361
win7自帶截圖工具不能用 瀏覽:939
javamail發送html郵件 瀏覽:682
穿越火線槍戰王者游戲錄制在哪個文件夾 瀏覽:10
cad圖復制到另一個cad文件標注變形 瀏覽:198
騰訊大數據平台部屬於哪個群 瀏覽:350
電極自動編程哪個軟體好用 瀏覽:550
cad看圖大師下載的文件在哪 瀏覽:227

友情鏈接