當前位置: 首頁>>代碼示例>>Java>>正文


Java SheetData.get方法代碼示例

本文整理匯總了Java中org.bbreak.excella.core.SheetData.get方法的典型用法代碼示例。如果您正苦於以下問題:Java SheetData.get方法的具體用法?Java SheetData.get怎麽用?Java SheetData.get使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.bbreak.excella.core.SheetData的用法示例。


在下文中一共展示了SheetData.get方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: postParse

import org.bbreak.excella.core.SheetData; //導入方法依賴的package包/類
/**
 * 解析後処理<BR>
 * 設定情報に基づき、データをオブジェクトに変換し、<BR>
 * 結果をリストに入れて、SheetDataにセットする<BR>
 * 
 * @param sheet 対象シート
 * @param sheetParser 対象シートパーサ
 * @param sheetData 解析結果シートデータ
 */
@SuppressWarnings( "unchecked")
public void postParse( Sheet sheet, SheetParser sheetParser, SheetData sheetData) throws ParseException {

    // 結果オブジェクトのリスト
    List<Object> results = new ArrayList<Object>();

    // 対象シートにSheetToJavaParserが存在するか
    List<TagParser<?>> tagParsers = sheetParser.getTagParsers();

    // 処理後不要になるSheetToJavaSettingParserの
    // データを判別するタグのリスト
    List<String> removeTags = new ArrayList<String>();

    // 処理をするタグの一覧を生成
    List<String> targetTags = new ArrayList<String>();
    for ( TagParser<?> tagParser : tagParsers) {
        // SheetToJavaParserのタグ
        if ( tagParser instanceof SheetToJavaParser) {
            targetTags.add( tagParser.getTag());
        }
        // SheetToJavaSettingParserのタグ
        if ( tagParser instanceof SheetToJavaSettingParser) {
            removeTags.add( tagParser.getTag());
        }
    }

    // ワークブック取得
    Workbook workbook = sheet.getWorkbook();

    // 処理対象のタグでループ
    for ( String tag : targetTags) {

        List<SheetToJavaParseInfo> sheetInfoList = ( List<SheetToJavaParseInfo>) sheetData.get( tag);

        if ( sheetInfoList == null) {
            continue;
        }

        // 設定情報(シート)単位でループ
        for ( SheetToJavaParseInfo sheetInfo : sheetInfoList) {

            List<SheetToJavaSettingInfo> allColumnInfoList = ( List<SheetToJavaSettingInfo>) sheetData.get( sheetInfo.getSettingTagName());

            // 今回処理対象シート分の設定を取得
            List<SheetToJavaSettingInfo> targetColumnInfoList = new ArrayList<SheetToJavaSettingInfo>();
            for ( SheetToJavaSettingInfo columnInfo : allColumnInfoList) {
                if ( columnInfo.getSheetName().equals( sheetInfo.getSheetName())) {
                    targetColumnInfoList.add( columnInfo);
                }
            }

            // 対象シートデータの読み込み
            Sheet targetSheet = workbook.getSheet( sheetInfo.getSheetName());
            if ( targetSheet == null) {
                throw new ParseException( sheetInfo.getSheetNameCell(), "シート[" + sheetInfo.getSheetName() + "]は存在しません");
            }
            results.addAll( parseTargetSheet( targetSheet, sheetInfo, targetColumnInfoList));
        }

        // sheetDataに結果を格納
        sheetData.put( tag, results);
    }

    // 処理後に不要になるデータの削除
    for ( String removeTag : removeTags) {
        sheetData.remove( removeTag);
    }
}
 
開發者ID:excella-core,項目名稱:excella-trans,代碼行數:78,代碼來源:SheetToJavaExecuter.java

示例2: postParse

import org.bbreak.excella.core.SheetData; //導入方法依賴的package包/類
/**
 * 解析後処理<BR>
 * 設定情報に基づき、データをSql文字列に変換し、<BR>
 * 結果をリストに入れて、SheetDataにセットする。<BR>
 * 
 * @param sheet 対象シート
 * @param sheetParser 対象シートパーサ
 * @param sheetData 解析結果シートデータ
 */
@SuppressWarnings( "unchecked")
public void postParse( Sheet sheet, SheetParser sheetParser, SheetData sheetData) throws ParseException {

    // 結果オブジェクトのリスト
    List<Object> results = new ArrayList<Object>();

    // 対象シートにSheetToSqlParserが存在するか
    List<TagParser<?>> tagParsers = sheetParser.getTagParsers();

    // 処理後不要になるSheetToJavaSettingParserの
    // データを判別するタグのリスト
    List<String> removeTags = new ArrayList<String>();

    // 処理をするタグの一覧を作成
    List<String> targetTags = new ArrayList<String>();
    for ( TagParser<?> tagParser : tagParsers) {
        // SheetToSqlParserのタグ
        if ( tagParser instanceof SheetToSqlParser) {
            targetTags.add( tagParser.getTag());
        }
        // SheetToSqlSettingParserのタグ
        if ( tagParser instanceof SheetToSqlSettingParser) {
            removeTags.add( tagParser.getTag());
        }
    }

    // ワークブックの取得
    Workbook workbook = sheet.getWorkbook();

    // 処理対象のタグでループ
    for ( String tag : targetTags) {

        List<SheetToSqlParseInfo> sheetInfoList = ( List<SheetToSqlParseInfo>) sheetData.get( tag);

        if ( sheetInfoList == null) {
            continue;
        }

        // 設定情報(シート)単位でループ
        for ( SheetToSqlParseInfo sheetInfo : sheetInfoList) {

            List<SheetToSqlSettingInfo> allColumnInfoList = ( List<SheetToSqlSettingInfo>) sheetData.get( sheetInfo.getSettingTagName());

            // 今回処理対象シート分の設定を取得
            List<SheetToSqlSettingInfo> targetColumnInfoList = new ArrayList<SheetToSqlSettingInfo>();
            for ( SheetToSqlSettingInfo columnInfo : allColumnInfoList) {
                if ( columnInfo.getSheetName().equals( sheetInfo.getSheetName())) {
                    targetColumnInfoList.add( columnInfo);
                }
            }

            // 対象シートデータの読み込み
            Sheet targetSheet = workbook.getSheet( sheetInfo.getSheetName());
            if ( targetSheet == null) {
                throw new ParseException( "シート[" + sheetInfo.getSheetName() + "]は存在しません");
            }
            results.addAll( parseTargetSheet( targetSheet, sheetInfo, targetColumnInfoList));
        }

        // sheetDataに結果を格納
        sheetData.put( tag, results);
    }

    // 処理後に不要になるデータの削除
    for ( String removeTag : removeTags) {
        sheetData.remove( removeTag);
    }
}
 
開發者ID:excella-core,項目名稱:excella-trans,代碼行數:78,代碼來源:SheetToSqlExecuter.java

示例3: main

import org.bbreak.excella.core.SheetData; //導入方法依賴的package包/類
@SuppressWarnings( {"unchecked", "unused" })
public static void main( String[] args) throws Exception {

    // クラスの場所から読み込むファイルのパスを取得
    String filename = "移行データサンプル.xls";
    URL url = UserOrgDataTransExecuter.class.getResource( filename);
    String filePath = URLDecoder.decode( url.getFile(), "UTF-8");

    // プロセッサ生成
    TransProcessor processor = new TransProcessor( filePath);

    // エラーハンドラ設定
    processor.setErrorHandler( new DebugErrorHandler());

    // ブックエクスポータ追加
    processor.addBookExporter( new ConsoleExporter());
    
    // プロセス実行
    BookData bookData = processor.processBook();

    // シート名リストの取得
    List<String> sheetNames = processor.getSheetNames();

    // シート単位でループ
    for ( String sheetName : sheetNames) {

        if ( !sheetName.startsWith( TransProcessor.COMMENT_PREFIX)) {
            // コメントアウトされていないシートの場合

            // シートデータの取得
            SheetData sheetData = bookData.getSheetData( sheetName);

            // タグ名リストの取得
            List<String> tagNames = sheetData.getKeyList();

            // タグ名リストでループ
            for ( String tagName : tagNames) {

                if ( processor.isDefaultSqlTag( tagName)) {
                    // 結果がSQLの場合

                    List<String> sqlList = ( List<String>) sheetData.get( tagName);

                    /* SQLの実行処理を記述 */

                } else {
                    // それ以外の場合
                    
                    List<Object> entityList = ( List<Object>) sheetData.get( tagName);
                    
                    /* エンティティの処理を記述 */

                }
            }
        }
    }
}
 
開發者ID:excella-core,項目名稱:excella-trans,代碼行數:58,代碼來源:UserOrgDataTransExecuter.java


注:本文中的org.bbreak.excella.core.SheetData.get方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。