本文整理汇总了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);
}
}
示例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);
}
}
}
示例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);
}
}
示例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;
}
示例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;
}
示例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);
}
}
}
}
示例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;
}
示例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);
}
}
示例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());
}
示例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);
}
}
}
}
示例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);
}
}
示例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;
}
示例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);
}
}
示例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);
}
}
示例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);
}
}