ポイExcelとJXLのJavaの操作

Javaの操作Excelは2総ポイとJXLを持つ方法は、次のコードは、簡単な実現です。

それから

輸入org.apache.poi.hssf.usermodel.HSSFRow。
輸入org.apache.poi.hssf.usermodel.HSSFSheet;
輸入org.apache.poi.hssf.usermodel.HSSFWorkbook;
輸入org.apache.poi.openxml4j.exceptions.InvalidFormatException。
輸入org.apache.poi.ss.usermodel.Row。
輸入org.apache.poi.ss.usermodel.Sheet;
輸入org.apache.poi.ss.usermodel.Workbook;
輸入org.apache.poi.ss.usermodel.WorkbookFactory。
輸入org.springframework.stereotype.Component;
インポートのjava.io.File;
輸入java.io.FileOutputStreamは、
インポートにjava.io.IOException; 

@成分
パブリック クラスExcelByPoi { 

    公共の 静的な 無効writeExcelByPoi(文字列のパス){
         試み{
             // 创建工作薄 
            HSSFWorkbookワークブック= 新しいHSSFWorkbook();
            // 创建工作表 
            HSSFSheetシート= workbook.createSheet( "シート1" )。

            INTの列= 0、行<10;行++ 
            { 
                HSSFRow行 = sheet.createRow(行)。
                INT COL ++; COL <10 COL = 0 
                { 
                    もし(行== 0 ){
                         // 追加ヘッダ 
                        rows.createCell(0).setCellValue( "名前" ); 
                        rows.createCell( .setCellValue( "クラス" 1。)); 
                        rows.createCell( 2).setCellValue( "性別" ); 
                        rows.createCell( 3).setCellValue("年齢" ); 
                        rows.createCell( 4).setCellValue("誕生日" ); 

                        rows.createCell( 5).setCellValue(" "古い); 
                        rows.createCell( 6).setCellValue( "学校" );
                        rows.createCell(7).setCellValue( "教師" ); 
                        rows.createCell( 8).setCellValue( "お父さん"。); 
                        rows.createCell( 9).setCellValue( "お母さん" ); 
                    } {
                         // ワークシートにデータを追加する 
                        行.createCell(COL).setCellValue( "データ"行+ + COL); 
                    } 
                } 
            } 

            ファイルxlsFile = 新しい新しいファイル(パス); 
            たFileOutputStream xlsStream = 新しい新たFileOutputStream(xlsFile); 
            workbook.write(xlsStream)。
        } キャッチ(IOExceptionをE){ 
            e.printStackTrace(); 
        } 
    } 


    公共の 静的な 無効readExcelByPoi(文字列のパス){
         試み{ 
            ファイルxlsFile = 新しい新しいファイル(パス);
             //は、ワークブックを取得 
            ワークブックワークブック= WorkbookFactory.create(xlsFileを)。
             // 枚数取得
            INT SheetCount = workbook.getNumberOfSheets()を;
             // ワークシートを横断
            するためのINT ; I <SheetCount I ++ I = 0 
            { 
                シートシート =workbook.getSheetAt(I);
                 // 取得した行
                のint行sheet.getLastRowNum =()+ 1 ;
                 // 列の数を取得し、最初の行は、ランクの数を変更することで、その結果、得られる 
                行sheet.getRow TMP =(0 );
                 IF( == TMP NULL 
                { 
                    続行; 
                } 
                int型 COLS = tmp.getPhysicalNumberOfCells();
                 //は、データを読み取る
                ためのint型の行= 0、行<行、行++ 
                { 
                    行R&LT =sheet.getRow(行)。
                    INT ; COL <COLS; COL = 0 COL ++ 
                    { 
                        System.out.printf( "%の10S" 、r.getCell(COL).getStringCellValue())。
                    } 
                    のSystem.out.println(); 
                } 
            } 
        } キャッチ(IOExceptionを電子){ 
            e.printStackTrace(); 
        } キャッチ(InvalidFormatException電子){ 
            e.printStackTrace(); 
        } 
    } 

}

JXL

       <依存> 
            <groupIdを> net.sourceforge.jexcelapi </ groupIdを> 
            <たartifactId> JXL </たartifactId> 
            <バージョン> 2.6.10 </バージョン> 
        </依存関係>     
インポートのjava.io.File;
インポートにjava.io.IOException;
輸入jxl.Workbook;
輸入jxl.write.Label;
輸入jxl.write.WritableSheet;
輸入jxl.write.WritableWorkbook;
輸入jxl.write.WriteException。
輸入jxl.Sheet;
輸入jxl.read.biff.BiffException。
輸入org.springframework.stereotype.Component; 

@Component 
パブリック クラスExcelByJxl { 

    公共の 静的な 無効writeExcelByJxl(文字列のパス){
         試み{ 
            ファイルxlsFile = 新しいですファイル(パス);
             // ワークブック作成 
            WritableWorkbookワークブック= Workbook.createWorkbook(xlsFileを);
             // ワークシートの作成 
            WritableSheetシート= workbook.createSheet( "シート1"、0 );
             のためint型の行= 0;の行を< 10;行++ 
            { 
                ためのint型 COL = 0、COL <10; COL ++ 
                { 
                    // ワークシート内のデータに追加 
                    sheet.addCell(新しい新しいラベル(COL、並んで、 "データ"行+ + COL)); 
                } 
            } 

            // ワークシートを作成
            WritableSheetシート1 = workbook.createSheet( "シート2"、0 );
            INT列= 0、行<10;行++ 
            { 
                ためのint型 COL = 0、COL <10; COL ++ 
                { 
                    場合(行== 0 ){
                         // 添加表头 
                        sheet1.addCell(新たなラベル(0、 0、 "班级" )); 
                        sheet1.addCell(ラベル(1、0、 "姓名" )); 
                        sheet1.addCell(ラベル(2、0、 "年级" ));
                        シート1。新しい新しいラベル(3、0、 "年齢" )); 
                        sheet1.addCell(新新ラベル(4、0、 "誕生日" )); 
                        sheet1.addCell(新新ラベル(5、0、 "アドレス" )) ; 
                        sheet1.addCell(新しい新しいラベル(6、0、 "性別" )); 
                        sheet1.addCell(新しい新しいラベル(7、0、 "お父さん" )); 
                        sheet1.addCell(新しい新しいラベル(8、0、 "お母さん" ) ); 
                        sheet1.addCell(新新ラベル(9、0、 "クラス"。 ));
                    } {
                         // 向工作表中添加数据 
                        sheet1.addCell(新たなラベル(列、行、 "データ" +行+ COL))。
                    } 
                } 
            } 

            )(workbook.write。
            )(workbook.close。
        } キャッチ(IOExceptionを電子){ 
            e.printStackTrace(); 
        } キャッチ(WriteException電子){ 
            e.printStackTrace(); 
        } 
    } 

    公共の 静的な 無効readExcelByJxl(文字列のパス){
         しようと{ 
            ファイルxlsFile = 新しいですファイル(パス);
             // ワークブックオブジェクト取得 
            ワークブックワークブック= Workbook.getWorkbook(xlsFileを);
             // 取得するすべてのワークシートの 
            シート[] =シートworkbook.getSheets();
             // ワークシートを通過する
            IF(!枚= ヌル
            { 
                (シートのシート:シート)
                { 
                    // 行の取得
                    int型の行= sheet.getRowsを();
                     // 列の数を取得
                    int型 = COLSを(sheet.getColumns);
                     // データを読み出す
                    ためにINT(BiffException電子){行= 0。行<行。行++ 
                    { 
                        ためINT COL = 0、COL <COLS; COL ++ 
                        { 
                            System.out.printf( "%の10S" 、sheet.getCell(COL、行)
                                    .getContents())。
                        } 
                        のSystem.out.println(); 
                    } 
                } 
            } 
            workbook.close()。
        } キャッチ(IOExceptionを電子){ 
            e.printStackTrace(); 
        } キャッチ
            e.printStackTrace(); 
        } 
    } 



}

エクセル第3の動作モード 

おすすめ

転載: www.cnblogs.com/mxh-java/p/12513692.html