JAVA 를 이용 하여 EXCEL 파일 을 조작 합 니 다.

10714 단어

    

1   Excel        

Java Excel API                 (.xls),           Excel    。   Excel            Workbook(   :    ),                  :(       ExcelReading.java)

 import java.io.*;
 import jxl.*;
… … … …
 try
 {
 //    Workbook    ,    Workbook   
	 //           Workbook
 //        Workbook
    InputStream is = new FileInputStream(sourcefile);
    jxl.Workbook rwb = Workbook.getWorkbook(is);
 }
 catch (Exception e)
 {
	 e.printStackTrace();
 }
 


      Workbook,            Excel Sheet(   :    )。         :

 //       Sheet  
 Sheet rs = rwb.getSheet(0);
 


        Sheet        ,           。           ,           0   ,      。

      Sheet,            Excel Cell(   :    )。         :

 //      ,     
 Cell c00 = rs.getCell(0, 0);
 String strc00 = c00.getContents();
 //      ,     
 Cell c10 = rs.getCell(1, 0);
 String strc10 = c10.getContents();
 //      ,     
 Cell c11 = rs.getCell(1, 1);
 String strc11 = c11.getContents();
 System.out.println("Cell(0, 0)" + " value : " + strc00 + "; type : " + c00.getType());
 System.out.println("Cell(1, 0)" + " value : " + strc10 + "; type : " + c10.getType());
 System.out.println("Cell(1, 1)" + " value : " + strc11 + "; type : " + c11.getType());
 


        Cell   ,          getContents()   ,          Cell            。      Cell(0, 0)     ,Cell(1, 0)     ,Cell(1,1)     ,   getContents(),             。

        Cell        ,API           。         :

 String strc00 = null;
 double strc10 = 0.00;
 Date strc11 = null;
 Cell c00 = rs.getCell(0, 0);
 Cell c10 = rs.getCell(1, 0);
 Cell c11 = rs.getCell(1, 1);
 if(c00.getType() == CellType.LABEL)
 {
 LabelCell labelc00 = (LabelCell)c00;
 strc00 = labelc00.getString();
 }
 if(c10.getType() == CellType.NUMBER)
 {
	 NmberCell numc10 = (NumberCell)c10;
 strc10 = numc10.getValue();
 }
 if(c11.getType() == CellType.DATE)
 {
 DateCell datec11 = (DateCell)c11;
 strc11 = datec11.getDate();
 }
 System.out.println("Cell(0, 0)" + " value : " + strc00 + "; type : " + c00.getType());
 System.out.println("Cell(1, 0)" + " value : " + strc10 + "; type : " + c10.getType());
 System.out.println("Cell(1, 1)" + " value : " + strc11 + "; type : " + c11.getType());
 


    Cell    ,   getType()              ,    API           ,          ,            getXXX(),           。API          ,  Excel         ,     :


 

         ,    Java Excel API Document。

      Excel           ,      close()             ,                    ,              。        :

 //      ,    ,         
 rwb.close();
 


Java Excel API         Excel       ,                 ,             Java Excel API Document。

Workbook        

1. int getNumberOfSheets() 
     (Workbook)    (Sheet)   ,  : 

 jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
 int sheets = rwb.getNumberOfSheets();
 


2. Sheet[] getSheets() 
     (Workbook)    (Sheet)    ,  : 

 jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
 Sheet[] sheets = rwb.getSheets();
 


3. String getVersion() 
        API     ,           。 

 jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
 String apiVersion = rwb.getVersion();
 


Sheet         

1) String getName() 
   Sheet    ,  : 

 jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
 jxl.Sheet rs = rwb.getSheet(0);
 String sheetName = rs.getName();
 


2) int getColumns() 
   Sheet          ,  : 

 jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
 jxl.Sheet rs = rwb.getSheet(0);
 int rsColumns = rs.getColumns();
 


3) Cell[] getColumn(int column) 
           ,           ,  : 

 jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
 jxl.Sheet rs = rwb.getSheet(0);
 Cell[] cell = rs.getColumn(0);
 


4) int getRows() 
   Sheet          ,  : 

 jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
 jxl.Sheet rs = rwb.getSheet(0);
 int rsRows = rs.getRows();
 


5) Cell[] getRow(int row) 
           ,           ,   : 

 jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
 jxl.Sheet rs = rwb.getSheet(0);
 Cell[] cell = rs.getRow(0);
 


6) Cell getCell(int column, int row) 
            ,            ,      ,      ,      、       。 

 jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
 jxl.Sheet rs = rwb.getSheet(0);
 Cell cell = rs.getCell(0, 0);
 


2      Excel    

                     Excel    ,                  (  :  ,     ),             。(       ExcelWriting.java)

    Excel      ,      Workbook                   (Workbook)   ,       ,     API            Workbook,      WritableWorkbook      ,    WritableWorkbook        protected   。        :

 import java.io.*;
 import jxl.*;
 import jxl.write.*;
… … … …
 try
 {
 //    Workbook    ,    Workbook   
 //Method 1:       Excel    
    jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile));
 //Method 2:  WritableWorkbook         
 /*
    OutputStream os = new FileOutputStream(targetfile);
    jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
 */
 }
 catch (Exception e)
 {
	 e.printStackTrace();
 }
 


API                  ,           ,            ,             ,            ,     Excel             ;       Excel           ,  :           Web    ,   HTTP        ,            Excel     ,         Excel     。

           ,                     ,                  ,         ,         ,               ,         :

 //    Excel    
 jxl.write.WritableSheet ws = wwb.createSheet("Test Sheet 1", 0);
 


"      ,        ,       !",           API      Excel       ,               ,         :

 //1.    Label   
 jxl.write.Label labelC = new jxl.write.Label(0, 0, "This is a Label cell");
 ws.addCell(labelC);
 //        Formatting    
 jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES, 18,
 WritableFont.BOLD, true);
 jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf);
 jxl.write.Label labelCF = new jxl.write.Label(1, 0, "This is a Label Cell", wcfF);
 ws.addCell(labelCF);
 //          Formatting    
 jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL, 10,
 WritableFont.NO_BOLD, false,
 UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED);
 jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
 jxl.write.Label labelCFC = new jxl.write.Label(1, 0, "This is a Label Cell", wcfFC);
 ws.addCell(labelCF);
 //2.    Number   
 jxl.write.Number labelN = new jxl.write.Number(0, 1, 3.1415926);
 ws.addCell(labelN);
 //      formatting   Number   
 jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");
 jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);
 jxl.write.Number labelNF = new jxl.write.Number(1, 1, 3.1415926, wcfN);
 ws.addCell(labelNF);
 //3.    Boolean   
 jxl.write.Boolean labelB = new jxl.write.Boolean(0, 2, false);
 ws.addCell(labelB);
 //4.    DateTime   
 jxl.write.DateTime labelDT = new jxl.write.DateTime(0, 3, new java.util.Date());
 ws.addCell(labelDT);
 //      formatting   DateFormat   
 jxl.write.DateFormat df = new jxl.write.DateFormat("dd MM yyyy hh:mm:ss");
 jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df);
 jxl.write.DateTime labelDTF = new jxl.write.DateTime(1, 3, new java.util.Date(),
 wcfDF);
 ws.addCell(labelDTF);
 


               。   ,       ,                 。     ,             ,              。   ,                 (column, row),        0   ,  ,A1      (0, 0),B1      (1, 0)。

  ,          Excel      ,        ,         :

 //    Exel    
 wwb.write();
 //    Excel      
 wwb.close();
 


       Excel           ,    Excel     ,        write()   ,                ,                    。        Excel   ,              。

3   、   Excel    

                       ,         ,          Excel    ,            Excel             Excel    ,         :(       ExcelModifying.java)

 //       Excel       
 jxl.Workbook rw = jxl.Workbook.getWorkbook(new File(sourcefile));
 //        Excel      
 jxl.write.WritableWorkbook  wwb = Workbook.createWorkbook(new File(targetfile), rw);

 //         
 jxl.write.WritableSheet ws = wwb.getSheet(0);
 //           
 jxl.write.WritableCell wc = ws.getWritableCell(0, 0);

 //          ,        
 if(wc.getType() == CellType.LABEL)
 {
 Label l = (Label)wc;
    l.setString("The value has been modified.");
 }
 //    Excel   
 wwb.write();
 //        Excel   
 wwb.close();
 //       Excel   
 rw.close();
 


            Excel   ,          ,          API      。      ,       ,            ,       , :  、    ,      ,               ,       ,               。         ,                 ,            ,         ,                    。

              ,                   ,          API     add()   ,             ,             setXXX()   ,           。

                  ,                 ,                。

              ,             ,               ,     2          。

  ,       write()   ,            ,         ,             ,      ,         。




좋은 웹페이지 즐겨찾기