1. 程式人生 > >java_excel_匯入_匯出

java_excel_匯入_匯出

新增環境:jxl.jar

java讀取excel檔案程式碼:

----------------------------------------------------------------------------------------

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

/**讀取Excel檔案的內容
     * @param file  待讀取的檔案
     * @return
     */
     public static String readExcel(File file){
        StringBuffer sb = new StringBuffer();
       
        Workbook wb = null;
         try {
            //構造Workbook(工作薄)物件
            wb=Workbook.getWorkbook(file);
         } catch (BiffException e) {
            e.printStackTrace();
         } catch (IOException e) {
            e.printStackTrace();
        }
       
        if(wb==null)
            return null;
       
        //獲得了Workbook物件之後,就可以通過它得到Sheet(工作表)物件了
        Sheet[] sheet = wb.getSheets();
       
         if(sheet!=null&&sheet.length>0){
            //對每個工作表進行迴圈
             for(int i=0;i<sheet.length;i++){
                //得到當前工作表的行數
                int rowNum = sheet[i].getRows();
                 for(int j=0;j<rowNum;j++){
                    //得到當前行的所有單元格
                    Cell[] cells = sheet[i].getRow(j);
                     if(cells!=null&&cells.length>0){
                        //對每個單元格進行迴圈
                         for(int k=0;k<cells.length;k++){
                            //讀取當前單元格的值
                            String cellValue = cells[k].getContents();
                            sb.append(cellValue+" ");
                        }
                    }
                    sb.append(" ");
                }
                sb.append(" ");
            }
        }
        //最後關閉資源,釋放記憶體
        wb.close();
        return sb.toString();
    }

----------------------------------------------------------------------------------------

java將資料匯入excel程式碼:

----------------------------------------------------------------------------------------

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

/**生成一個Excel檔案
     * @param fileName  要生成的Excel檔名
     */
     public static void writeExcel(String fileName){
        WritableWorkbook wwb = null;
         try {
            //首先要使用Workbook類的工廠方法建立一個可寫入的工作薄(Workbook)物件
            wwb = Workbook.createWorkbook(new File(fileName));
         } catch (IOException e) {
            e.printStackTrace();
        }
         if(wwb!=null){
            //建立一個可寫入的工作表
            //Workbook的createSheet方法有兩個引數,第一個是工作表的名稱,第二個是工作表在工作薄中的位置
            WritableSheet ws = wwb.createSheet("sheet1", 0);
           
            //下面開始新增單元格
             for(int i=0;i<10;i++){
                 for(int j=0;j<5;j++){
                    //這裡需要注意的是,在Excel中,第一個引數表示列,第二個表示行
                    Label labelC = new Label(j, i, "這是第"+(i+1)+"行,第"+(j+1)+"列");
                     try {
                        //將生成的單元格新增到工作表中
                        ws.addCell(labelC);
                     } catch (RowsExceededException e) {
                        e.printStackTrace();
                     } catch (WriteException e) {
                        e.printStackTrace();
                    }

                }
            }

             try {
                //從記憶體中寫入檔案中
                wwb.write();
                //關閉資源,釋放記憶體
                wwb.close();
             } catch (IOException e) {
                e.printStackTrace();
             } catch (WriteException e) {
                e.printStackTrace();
            }
        }
    }

----------------------------------------------------------------------------------------