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


Java PoiUtil类代码示例

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


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

示例1: writeErrorBook

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
/**
 * エラーブックのファイルをカレントディレクトリに書き込む
 * 
 * @param workbook
 */
protected void writeErrorBook( Workbook workbook) {
    String resultFileName = errorFilePath;
    if ( resultFileName == null) {
        resultFileName = "./" + System.currentTimeMillis();
        if ( workbook instanceof XSSFWorkbook) {
            resultFileName += BookController.XSSF_SUFFIX;
        } else {
            resultFileName += BookController.HSSF_SUFFIX;
        }
    }

    try {
        PoiUtil.writeBook( workbook, resultFileName);
        System.out.println( "\n" + resultFileName + "にエラーファイルを生成しました");
    } catch ( Exception e) {
        log.warn( "エラーファイルの生成に失敗しました", e);
    }
}
 
开发者ID:excella-core,项目名称:excella-core,代码行数:24,代码来源:DebugErrorHandler.java

示例2: shiftLeft

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
/**
 * セル削除に伴いセルを左方向に動かす(デフォルト)
 * 
 * @param row
 * @param cell
 * @param colIndex
 */
private void shiftLeft( Row row, Cell cell, int colIndex) {
    // コピー・貼付
    int startCopyIndex = colIndex + 1;
    if ( row == null) {
        return;
    }
    int finishCopyIndex = row.getLastCellNum() - 1;

    for ( int copyColNum = startCopyIndex; copyColNum <= finishCopyIndex; copyColNum++) {
        // コピー元セル
        Cell fromCell = row.getCell( copyColNum);
        // コピー先セル
        Cell toCell = row.getCell( copyColNum - 1);

        if ( fromCell != null) {
            if ( toCell == null) {
                toCell = row.createCell( copyColNum - 1);
            }
            PoiUtil.copyCell( fromCell, toCell);
            row.removeCell( fromCell);
        }
    }
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:31,代码来源:RemoveAdapter.java

示例3: export

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
public void export( Workbook book, BookData bookdata) throws ExportException {
    // テンプレート削除(暫定対応)
    SortedSet<Integer> deleteSheetIndexs = new TreeSet<Integer>( Collections.reverseOrder());
    for ( int i = 0; i < book.getNumberOfSheets(); i++) {
        String sheetName = book.getSheetName( i);
        if ( sheetName.startsWith( PoiUtil.TMP_SHEET_NAME)) {
            deleteSheetIndexs.add( i);
        }
    }
    for ( int index : deleteSheetIndexs) {
        book.removeSheetAt( index);
    }

    if ( configuration != null) {
        // 出力
        output( book, bookdata, configuration);
    }

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

示例4: getMergedAddress

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
/**
 * 指定された行、列座標のセルを含む結合セルを取得する。
 * 
 * @param sheet 対象シート
 * @param rowIndex 行インデックス
 * @param columnIndex 列インデックス
 * @return 結合セル
 */
public static CellRangeAddress getMergedAddress( Sheet sheet, int rowIndex, int columnIndex) {

    CellRangeAddress rangeAddress = new CellRangeAddress( rowIndex, rowIndex, columnIndex, columnIndex);

    int fromSheetMargNums = sheet.getNumMergedRegions();
    for ( int i = 0; i < fromSheetMargNums; i++) {
        CellRangeAddress mergedAddress = null;
        if ( sheet instanceof XSSFSheet) {
            mergedAddress = (( XSSFSheet) sheet).getMergedRegion( i);
        } else if ( sheet instanceof HSSFSheet) {
            mergedAddress = (( HSSFSheet) sheet).getMergedRegion( i);
        }

        // fromAddressに入ってるか
        if ( PoiUtil.containCellRangeAddress( mergedAddress, rangeAddress)) {
            return mergedAddress;
        }
    }
    return null;
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:29,代码来源:ReportsUtil.java

示例5: getBlockCellValue

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
/**
 * 対象シートの指定された範囲のセルに書かれている文字列をString[行番号][列番号]の形式で取得する。 セルに書かれている値が文字列でない場合は、nullがセットされる。
 * 
 * @param sheet 対象となるシート
 * @param bStartRowIndex 範囲開始行番号
 * @param bEndRowIndex 範囲終了行番号
 * @param bStartColIndex 範囲開始列番号
 * @param bEndColIndex 範囲終了列番号
 * @return セル文字列
 */
public static Object[][] getBlockCellValue( Sheet sheet, int bStartRowIndex, int bEndRowIndex, int bStartColIndex, int bEndColIndex) {
    Object[][] blockCellValue = new Object[bEndRowIndex - bStartRowIndex + 1][bEndColIndex - bStartColIndex + 1];
    int row = 0;
    for ( int bRowIndex = bStartRowIndex; bRowIndex <= bEndRowIndex; bRowIndex++) {
        int col = 0;
        for ( int bColIndex = bStartColIndex; bColIndex <= bEndColIndex; bColIndex++) {
            if ( sheet.getRow( bRowIndex) != null && sheet.getRow( bRowIndex).getCell( bColIndex) != null) {

                blockCellValue[row][col] = PoiUtil.getCellValue( sheet.getRow( bRowIndex).getCell( bColIndex));
            } else {
                blockCellValue[row][col] = null;
            }
            col++;
        }
        row++;
    }
    return blockCellValue;
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:29,代码来源:ReportsUtil.java

示例6: testGetBlockCellValue

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
/**
 * {@link org.bbreak.excella.reports.util.ReportsTagUtil#getBlockCellValue(org.apache.poi.ss.usermodel.Sheet, int, int, int, int)} のためのテスト・メソッド。
 */
@Test
public void testGetBlockCellValue() {

    Workbook workbook = getWorkbook();
    Sheet sheet = workbook.getSheetAt( 0);

    Object[][] cellValues = ReportsUtil.getBlockCellValue( sheet, 0, 4, 0, 3);

    for ( int r = 0; r <= 4; r++) {
        for ( int c = 0; c <= 3; c++) {
            if ( cellValues[r][c] != null) {
                try {
                    assertEquals( PoiUtil.getCellValue( sheet.getRow( r).getCell( c)), cellValues[r][c]);
                } catch ( NullPointerException e) {
                    e.printStackTrace();
                    fail();
                }
            } else {
                assertTrue( sheet.getRow( r) == null || sheet.getRow( r).getCell( c) == null || sheet.getRow( r).getCell( c).getCellTypeEnum() == CellType.BLANK);
            }

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

示例7: parseSheet

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
/**
 * シートの解析
 * 
 * @param sheet 解析対象シート
 * @param data BookControllerのparseBook(), parseSheet()メソッド、
 *              SheetParserのparseSheetメソッドで引数を渡した場合に
 *              TagParserまで引き継がれる処理データ
 * @return 解析結果
 * @throws ParseException 解析に失敗した場合にThrowされる
 */
public SheetData parseSheet( Sheet sheet, Object data) throws ParseException {
    // 解析結果
    String sheetName = PoiUtil.getSheetName( sheet);
    SheetData sheetData = new SheetData( sheetName);

    int firstRowNum = sheet.getFirstRowNum();

    // タグセルの検査
    for ( int rowCnt = firstRowNum; rowCnt <= sheet.getLastRowNum(); rowCnt++) {
        // 行の取得
        Row row = sheet.getRow( rowCnt);
        if ( row == null) {
            continue;
        }
        if ( row != null) {
            for ( int columnIdx = 0; columnIdx < row.getLastCellNum(); columnIdx++) {
                // セルの取得
                Cell cell = row.getCell( columnIdx);
                if ( cell == null) {
                    continue;
                }
                if( parseCell(sheet, data, sheetData, cell, row, columnIdx)) {
                	// 終了タグによる終了
                	return sheetData;
                }
            }
        }
    }

    return sheetData;
}
 
开发者ID:excella-core,项目名称:excella-core,代码行数:42,代码来源:SheetParser.java

示例8: export

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
/**
 * 処理実行
 */
public void export( Workbook book, BookData bookdata) throws ExportException {
    if ( log.isInfoEnabled()) {
        log.info( "処理結果を" + filePath + "に出力します");
    }
    try {
        PoiUtil.writeBook( book, filePath);
    } catch ( Exception e) {
        throw new ExportException( e);
    }
}
 
开发者ID:excella-core,项目名称:excella-core,代码行数:14,代码来源:WorkbookExporter.java

示例9: setRowBreakMergedRegion

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
protected void setRowBreakMergedRegion( Sheet sheet, Row row, Cell cell) {
    PoiUtil.setCellValue( cell, null);
    // シート内の結合情報の数だけループする
    for ( int i = 0; i < sheet.getNumMergedRegions(); i++) {
        CellRangeAddress region = sheet.getMergedRegion( i);
        if ( region.isInRange( row.getRowNum(), cell.getColumnIndex())) {
            // 結合されていれば結合セルの直後に改ページ
            sheet.setRowBreak( row.getRowNum() + 1);
            return;
        }
    }
    // 結合されていなければその行で改ページ
    sheet.setRowBreak( row.getRowNum());
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:15,代码来源:BreakAdapter.java

示例10: shiftUp

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
/**
 * セル削除に伴いセルを上方向に動かす
 * 
 * @param sheet
 * @param cell
 * @param rowIndex
 * @param colIndex
 */
private void shiftUp( Sheet sheet, Cell cell, int rowIndex, int colIndex) {
    // コピー開始・終了行番号
    int startCopyIndex = rowIndex + 1;
    int finishCopyIndex = sheet.getLastRowNum();

    for ( int copyRowNum = startCopyIndex; copyRowNum <= finishCopyIndex; copyRowNum++) {

        Row row = sheet.getRow( copyRowNum);
        if ( row != null) {
            Row preRow = sheet.getRow( copyRowNum - 1);
            // コピー元セル
            Cell fromCell = row.getCell( colIndex);

            if ( fromCell != null) {
                // コピー先セル
                Cell toCell = null;
                if ( preRow == null) {
                    preRow = sheet.createRow( copyRowNum - 1);
                }
                toCell = preRow.getCell( colIndex);
                if ( toCell == null) {
                    toCell = preRow.createCell( colIndex);
                }
                PoiUtil.copyCell( fromCell, toCell);
                row.removeCell( fromCell);
            }
        }
    }
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:38,代码来源:RemoveAdapter.java

示例11: removeControlRow

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
/**
 * 行を削除する
 * 
 * @param sheet
 * @param rowIndex
 */
private void removeControlRow( Sheet sheet, int rowIndex) {

    // 最終行だったら、削除
    if ( rowIndex == sheet.getLastRowNum()) {
        sheet.removeRow( sheet.getRow( rowIndex));
    } else {
        sheet.removeRow( sheet.getRow( rowIndex));
        // #35 POIの不具合のため、行シフト先に結合セルがあると、解除されてしまう。
        // そのため、0~最終列までのセル範囲の削除で対応している。
        CellRangeAddress rangeAddress = new CellRangeAddress( rowIndex, rowIndex, 0, PoiUtil.getLastColNum( sheet));
        PoiUtil.deleteRangeUp( sheet, rangeAddress);
        // sheet.shiftRows( rowIndex + 1, sheet.getLastRowNum(), -1, true, true);
    }
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:21,代码来源:RemoveAdapter.java

示例12: parse

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
@Override
public ParsedReportInfo parse( Sheet sheet, Cell tagCell, Object data) throws ParseException {

    Map<String, String> paramDef = TagUtil.getParams( tagCell.getStringCellValue());

    ReportsParserInfo reportsParserInfo = ( ReportsParserInfo) data;

    ParamInfo paramInfo = reportsParserInfo.getParamInfo();

    Object paramValue = null;

    if ( paramInfo != null) {
        // 置換
        // 置換変数の取得
        String replaceParam = paramDef.get( PARAM_VALUE);

        paramValue = ReportsUtil.getSumValue( paramInfo, replaceParam, reportsParserInfo.getReportParsers());

        // 置換
        PoiUtil.setCellValue( tagCell, paramValue);

    }

    // 解析結果の生成
    ParsedReportInfo parsedReportInfo = new ParsedReportInfo();
    parsedReportInfo.setParsedObject( paramValue);
    parsedReportInfo.setRowIndex( tagCell.getRowIndex());
    parsedReportInfo.setColumnIndex( tagCell.getColumnIndex());
    parsedReportInfo.setDefaultRowIndex( tagCell.getRowIndex());
    parsedReportInfo.setDefaultColumnIndex( tagCell.getColumnIndex());

    return parsedReportInfo;
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:34,代码来源:SumParamParser.java

示例13: output

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
@Override
public void output( Workbook book, BookData bookdata, ConvertConfiguration configuration) throws ExportException {
    if ( !(book instanceof XSSFWorkbook)) {
        throw new IllegalArgumentException( "Workbook is not XSSFWorkbook.");
    }
    if ( log.isInfoEnabled()) {
        log.info( "処理結果を" + getFilePath() + "に出力します。");
    }
    try {
        PoiUtil.writeBook( book, getFilePath());
    } catch ( Exception e) {
        throw new ExportException( e);
    }
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:15,代码来源:XLSXExporter.java

示例14: output

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
@Override
public void output( Workbook book, BookData bookdata, ConvertConfiguration configuration) throws ExportException {
    if ( !(book instanceof HSSFWorkbook)) {
        throw new IllegalArgumentException( "Workbook is not HSSFWorkbook.");
    }
    if ( log.isInfoEnabled()) {
        log.info( "処理結果を" + getFilePath() + "に出力します。");
    }
    try {
        PoiUtil.writeBook( book, getFilePath());
    } catch ( Exception e) {
        throw new ExportException( e);
    }
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:15,代码来源:XLSExporter.java

示例15: output

import org.bbreak.excella.core.util.PoiUtil; //导入依赖的package包/类
@Override
public void output( Workbook book, BookData bookdata, ConvertConfiguration configuration) throws ExportException {
    if ( !(book instanceof XSSFWorkbook)) {
        throw new IllegalArgumentException( "Workbook is not XSSFWorkbook.");
    }
    if ( log.isInfoEnabled()) {
        log.info( "処理結果を" + getFilePath() + "に出力します。");
    }
    try {
        PoiUtil.writeBook( book, getFilePath());
    }
    catch ( Exception e) {
        throw new ExportException( e);
    }
}
 
开发者ID:excella-core,项目名称:excella-reports,代码行数:16,代码来源:XLSMExporter.java


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