JXL入門學習

2021-04-06 21:38:44 字數 2035 閱讀 1577

最近和excel頻繁親密接觸,主要將n個excel表中的資料拷貝到另外的excel表中規整為二維結構以便入庫。但是有些表存在合併單元格的情況,甚是惱火,怎麼辦哪?好在這n個excel表結構還比較一致,可以寫程式在指定位置讀取,然後再寫入到新的excel表中,這樣就ok了。這裡面主要用到乙個元件jxl.

jxl的使用:

主要的功能就是讀excel檔案和寫excel檔案

讀:讀的時候是這樣的乙個思路,先用乙個輸入流(inputstream)得到excel檔案,然後用jxl中的workbook得到工作薄,用sheet從工作薄中得到工作表,用cell得到工作表中得某個單元格.

inputstream->workbook->sheet->cell,就得到了excel檔案中的單元格

**:

string path="c://excel.xls";//excel檔案url

inputstream is = new fileinputstream(path);//寫入到fileinputstream

jxl.workbook wb = workbook.getworkbook(is); //得到工作薄

jxl.sheet st = wb.getsheet(0);//得到工作薄中的第乙個工作表

cell cell=st.getcell(0,0);//得到工作表的第乙個單元格,即a1

string content=cell.getcontents();//getcontents()將cell中的字元轉為字串

wb.close();//關閉工作薄

is.close();//關閉輸入流

我們可以通過sheet的getcell(x,y)方法得到任意乙個單元格,x,y和excel中的座標對應.

例如a1對應(0,0),a2對應(0,1),d3對應(3,2).excel中座標從a,1開始,jxl中全部是從0開始.

還可以通過sheet的getrows(),getcolumns()方法得到行數列數,並用於迴圈控制,輸出乙個sheet中的所有內容.

寫:往excel中寫入內容主要是用jxl.write包中的類.

思路是這樣的:

outputstream<-writableworkbook<-writablesheet<-label

這裡面label代表的是寫入sheet的cell位置及內容.

**:

outputstream os=new fileoutputstream("c://test.xls");//輸出的excel檔案url

writableworkbook wwb = workbook.createworkbook(os);//建立可寫工作薄

writablesheet ws = wwb.createsheet("sheet1", 0);//建立可寫工作表

label labelcf=new label(0, 0, "hello");//建立寫入位置和內容

ws.addcell(labelcf);//將label寫入sheet中

label的建構函式label(int x, int y,string astring)xy意同讀的時候的xy,astring是寫入的內容.

writablefont wf = new writablefont(writablefont.times, 12, writablefont.bold, false);//設定寫入字型

writablecellformat wcff = new writablecellformat(wf);//設定cellformat

label labelcf=new label(0, 0, "hello");//建立寫入位置,內容和格式

label的另一建構函式label(int c, int r, string cont, cellformat st)可以對寫入內容進行格式化,設定字型及其它的屬性.

現在可以寫了

wwb.write();

寫完後關閉

wwb.close();

輸出流也關閉吧

os.close;

ok,只要把讀和寫結合起來,就可以在n個excel中讀取資料寫入你希望的excel新錶中,還是比較方便的.

JXL使用日記

建立file檔案物件 file new file generatefilename 建立乙個excel檔案工作物件 excelstore es new excelstore 把file物件連線到excel物件 excelconnection ec es.openconnection file exc...

JXL獲取excel批註

不知道為什麼,竟然google上竟然都搜不到jxl獲取excel批註的方法,只能自己去看api,然後寫了個最簡單的測試 我用了jxl最新的2.6.12版本,竟然還不支援office的xlsx格式 jxl.jar 2.6.12 author lmiky date 2011 11 26 public c...

jxl 匯入 excel 檔案

前提要做的 匯入jxl包 1.首先要把上傳的文個件上傳到伺服器上.並得到檔案的絕對路徑 2.new乙個新的檔案物件出來,並得到輸入流 file file new file 檔案路徑 通過這個檔案物件得到檔案輸入流 fileinputstream fis new fileinputstream fil...