当前位置: 首页>>代码示例>>Java>>正文


Java SheetParser类代码示例

本文整理汇总了Java中org.bbreak.excella.core.SheetParser的典型用法代码示例。如果您正苦于以下问题:Java SheetParser类的具体用法?Java SheetParser怎么用?Java SheetParser使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


SheetParser类属于org.bbreak.excella.core包,在下文中一共展示了SheetParser类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: parseRow

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
/**
 * 行単位で解析し、必要なら改ページを挿入する
 */
protected void parseRow( Sheet sheet, SheetParser sheetParser, SheetData sheetData, Row row, int rowIndex) {
    int firstColNum = row.getFirstCellNum();
    int lastColNum = row.getLastCellNum() - 1;

    for ( int colIndex = firstColNum; colIndex <= lastColNum; colIndex++) {
        Cell cell = row.getCell( colIndex);
        if ( cell != null) {
            if ( cell.getCellTypeEnum() == CellType.STRING && cell.getStringCellValue().contains( BreakParamParser.DEFAULT_TAG)) {
                // 改ページを挿入
                if ( isInMergedRegion( sheet, row, cell)) {
                    setRowBreakMergedRegion( sheet, row, cell);
                } else {
                    setRowBreak( sheet, row, cell);
                }
            }
        }
    }

}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:23,代码来源:BreakAdapter.java

示例2: isControlRow

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
/**
 * 制御行の有無を返す。
 * 
 * @param sheet
 * @param sheetParser
 * @param row
 * @return
 */
private boolean isControlRow( Sheet sheet, SheetParser sheetParser, Row row, Cell cell) {

    List<TagParser<?>> parsers = sheetParser.getTagParsers();

    for ( TagParser<?> parser : parsers) {
        try {
            if ( parser.isParse( sheet, cell)) {
                if ( parser instanceof ReportsTagParser) {
                    ReportsTagParser<?> reportsTagParser = ( ReportsTagParser<?>) parser;
                    if ( reportsTagParser.useControlRow()) {
                        return true;
                    }
                }
            }
        } catch ( ParseException e) {
            // 解析できないものは扱わない
            continue;
        }
    }
    return false;
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:30,代码来源:RemoveAdapter.java

示例3: testPostParse

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
/**
 * {@link org.bbreak.excella.reports.listener.BreakAdapter#postParse(org.apache.poi.ss.usermodel.Sheet, org.bbreak.excella.core.SheetParser, org.bbreak.excella.core.SheetData)} のためのテスト・メソッド。
 */
@Test
public void testPostParse() {

    Workbook workbook = getWorkbook();

    BreakAdapter adapter = new BreakAdapter();

    SheetParser sheetParser = new SheetParser();
    List<ReportsTagParser<?>> reportParsers = new ArrayList<ReportsTagParser<?>>( ReportCreateHelper.createDefaultParsers().values());

    for ( ReportsTagParser<?> parser : reportParsers) {
        sheetParser.addTagParser( parser);
    }

    Sheet sheet = workbook.getSheetAt( 0);
    try {
        adapter.postParse( sheet, sheetParser, null);
    } catch ( ParseException e) {
        e.printStackTrace();
        fail();
    }
    checkSheet( workbook.getSheetName( 0), sheet, true);
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:27,代码来源:BreakAdapterTest.java

示例4: postParse

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
/**
 * @see org.bbreak.excella.reports.listener.ReportProcessAdaptor#postParse(org.apache.poi.ss.usermodel.Sheet, org.bbreak.excella.core.SheetParser, org.bbreak.excella.core.SheetData)
 */
@Override
public void postParse( Sheet sheet, SheetParser sheetParser, SheetData sheetData) throws ParseException {
    int firstRowNum = sheet.getFirstRowNum();
    int lastRowNum = sheet.getLastRowNum();

    for ( int rowIndex = firstRowNum; rowIndex <= lastRowNum; rowIndex++) {
        Row row = sheet.getRow( rowIndex);
        if ( row != null) {
            parseRow( sheet, sheetParser, sheetData, row, rowIndex);
        }
    }
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:16,代码来源:BreakAdapter.java

示例5: postParse

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
@Override
public void postParse( Sheet sheet, SheetParser sheetParser, SheetData sheetData) throws ParseException {

    int firstRowNum = sheet.getFirstRowNum();
    int lastRowNum = sheet.getLastRowNum();

    for ( int rowIndex = firstRowNum; rowIndex <= lastRowNum; rowIndex++) {

        Row row = sheet.getRow( rowIndex);
        if ( row != null) {
            int firstColNum = row.getFirstCellNum();
            int lastColNum = row.getLastCellNum() - 1;
            boolean isRowFlag = false;

            for ( int colIndex = firstColNum; colIndex <= lastColNum; colIndex++) {
                Cell cell = row.getCell( colIndex);
                if ( cell != null) {
                    if ( cell.getCellTypeEnum() == CellType.STRING && cell.getStringCellValue().contains( RemoveParamParser.DEFAULT_TAG)) {
                        // タグのパラメータを取得
                        String[] paramArray = getStrParam( sheet, rowIndex, colIndex);

                        // 削除単位(セル・列・行)
                        String removeUnit = paramArray[0];
                        // タグを持つセルを削除
                        row.removeCell( cell);

                        // 行全体削除の場合の処理
                        if ( removeUnit.equals( "") || removeUnit.equals( ROW)) {
                            removeRegion( sheet, rowIndex, -1);
                            removeControlRow( sheet, rowIndex);
                            isRowFlag = true;
                            break;
                        } else if ( removeUnit.equals( CELL) || removeUnit.equals( COLUMN)) {
                            // セルまたは列全体削除の場合の処理
                            removeCellOrCol( paramArray, removeUnit, sheet, row, cell, rowIndex, colIndex);
                        }
                        lastColNum = row.getLastCellNum() - 1;
                        colIndex--;
                    }
                    // 制御行の処理
                    if ( isControlRow( sheet, sheetParser, row, cell)) {
                        removeControlRow( sheet, rowIndex);
                        isRowFlag = true;
                        break;
                    }
                }
            }
            // 行を削除した場合
            if ( isRowFlag) {
                lastRowNum = sheet.getLastRowNum();
                rowIndex--;
            }
        }
    }
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:56,代码来源:RemoveAdapter.java

示例6: postParse

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
public void postParse( Sheet sheet, SheetParser sheetParser, SheetData sheetData) throws ParseException {
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:3,代码来源:ReportProcessAdaptor.java

示例7: preParse

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
public void preParse( Sheet sheet, SheetParser sheetParser) throws ParseException {
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:3,代码来源:ReportProcessAdaptor.java

示例8: postParse

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
@Override
public void postParse( Sheet sheet, SheetParser sheetParser, SheetData sheetData) throws ParseException {
    processStrings.add( "シート解析後処理 CustomListener#postParse( Sheet sheet, SheetParser sheetParser, SheetData sheetData)");
    // System.out.println("sheet=" + sheet + ",sheetParser=" + sheetParser+ ",sheetData=" + sheetData);
    super.postParse( sheet, sheetParser, sheetData);
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:7,代码来源:ReportProcessorTest.java

示例9: preParse

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
@Override
public void preParse( Sheet sheet, SheetParser sheetParser) throws ParseException {
    processStrings.add( "シート解析前処理 CustomListener#preParse( Sheet sheet, SheetParser sheetParser)");
    // System.out.println("sheet=" + sheet +",SheetParser=" + sheetParser);
    super.preParse( sheet, sheetParser);
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:7,代码来源:ReportProcessorTest.java

示例10: postParse

import org.bbreak.excella.core.SheetParser; //导入依赖的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

示例11: postParse

import org.bbreak.excella.core.SheetParser; //导入依赖的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

示例12: preParse

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
public void preParse( Sheet sheet, SheetParser sheetParser) throws ParseException {
    System.out.println( "TestSheetParseListener : preParse");
}
 
开发者ID:excella-core,项目名称:excella-trans,代码行数:4,代码来源:TransProcessorTest.java

示例13: postParse

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
public void postParse( Sheet sheet, SheetParser sheetParser, SheetData sheetData) throws ParseException {
    System.out.println( "TestSheetParseListener : postParse");
}
 
开发者ID:excella-core,项目名称:excella-trans,代码行数:4,代码来源:TransProcessorTest.java

示例14: preParse

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
/**
 * シート解析前に呼び出されるメソッド
 * 
 * @param sheet 対象シート
 * @param sheetParser 対象パーサ
 */
void preParse( Sheet sheet, SheetParser sheetParser) throws ParseException;
 
开发者ID:excella-core,项目名称:excella-core,代码行数:8,代码来源:SheetParseListener.java

示例15: postParse

import org.bbreak.excella.core.SheetParser; //导入依赖的package包/类
/**
 * シート解析後に呼び出されるメソッド
 * 
 * @param sheet 対象シート
 * @param sheetParser 対象パーサ
 * @param sheetData 解析結果
 */
void postParse( Sheet sheet, SheetParser sheetParser, SheetData sheetData) throws ParseException;
 
开发者ID:excella-core,项目名称:excella-core,代码行数:9,代码来源:SheetParseListener.java


注:本文中的org.bbreak.excella.core.SheetParser类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。