org.apache.poi.hssf.usermodel.HSSFWorkbook.getSheetIndex()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(9.7k)|赞(0)|评价(0)|浏览(126)

本文整理了Java中org.apache.poi.hssf.usermodel.HSSFWorkbook.getSheetIndex()方法的一些代码示例,展示了HSSFWorkbook.getSheetIndex()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。HSSFWorkbook.getSheetIndex()方法的具体详情如下:
包路径:org.apache.poi.hssf.usermodel.HSSFWorkbook
类名称:HSSFWorkbook
方法名:getSheetIndex

HSSFWorkbook.getSheetIndex介绍

[英]Returns the index of the sheet by his name
[中]按其名称返回工作表的索引

代码示例

代码示例来源:origin: org.apache.poi/poi

  1. @Override
  2. public int getSheetIndex(String sheetName) {
  3. return _uBook.getSheetIndex(sheetName);
  4. }

代码示例来源:origin: org.apache.poi/poi

  1. @Override
  2. public int getSheetIndex(EvaluationSheet evalSheet) {
  3. HSSFSheet sheet = ((HSSFEvaluationSheet)evalSheet).getHSSFSheet();
  4. return _uBook.getSheetIndex(sheet);
  5. }
  6. @Override

代码示例来源:origin: org.apache.poi/poi

  1. @Override
  2. public int getExternalSheetIndex(String sheetName) {
  3. int sheetIndex = _uBook.getSheetIndex(sheetName);
  4. return _iBook.checkExternSheet(sheetIndex);
  5. }
  6. @Override

代码示例来源:origin: org.apache.poi/poi

  1. private static List<Integer> getIndexesByName(String[] params, HSSFWorkbook workbook) {
  2. List<Integer> list = new ArrayList<>();
  3. int pos = getAttributeIndex(SHEET_NAME_PARAM, params);
  4. if (-1 != pos) {
  5. if (pos >= params.length) {
  6. throw new IllegalArgumentException("sheet name param value was not specified");
  7. }
  8. String sheetName = params[pos + 1];
  9. int sheetPos = workbook.getSheetIndex(sheetName);
  10. if (-1 == sheetPos){
  11. throw new IllegalArgumentException("specified sheet name has not been found in xls file");
  12. }
  13. list.add(sheetPos);
  14. }
  15. return list;
  16. }

代码示例来源:origin: org.apache.poi/poi

  1. /**
  2. * Returns the name of this sheet
  3. *
  4. * @return the name of this sheet
  5. */
  6. @SuppressWarnings("resource")
  7. @Override
  8. public String getSheetName() {
  9. HSSFWorkbook wb = getWorkbook();
  10. int idx = wb.getSheetIndex(this);
  11. return wb.getSheetName(idx);
  12. }

代码示例来源:origin: org.apache.poi/poi

  1. private NameRecord getBuiltinNameRecord(byte builtinCode) {
  2. int sheetIndex = _workbook.getSheetIndex(this);
  3. int recIndex =
  4. _workbook.findExistingBuiltinNameRecordIdx(sheetIndex, builtinCode);
  5. if (recIndex == -1) {
  6. return null;
  7. }
  8. return _workbook.getNameRecord(recIndex);
  9. }

代码示例来源:origin: org.apache.poi/poi

  1. @SuppressWarnings("resource")
  2. private Ptg[] createListFormula(HSSFSheet sheet) {
  3. if (_explicitListValues == null) {
  4. HSSFWorkbook wb = sheet.getWorkbook();
  5. // formula is parsed with slightly different RVA rules: (root node type must be 'reference')
  6. return HSSFFormulaParser.parse(_formula1, wb, FormulaType.DATAVALIDATION_LIST, wb.getSheetIndex(sheet));
  7. // To do: Excel places restrictions on the available operations within a list formula.
  8. // Some things like union and intersection are not allowed.
  9. }
  10. // explicit list was provided
  11. StringBuilder sb = new StringBuilder(_explicitListValues.length * 16);
  12. for (int i = 0; i < _explicitListValues.length; i++) {
  13. if (i > 0) {
  14. sb.append('\0'); // list delimiter is the nul char
  15. }
  16. sb.append(_explicitListValues[i]);
  17. }
  18. return new Ptg[] { new StringPtg(sb.toString()), };
  19. }

代码示例来源:origin: org.apache.poi/poi

  1. /**
  2. * @return The parsed token array representing the formula or value specified.
  3. * Empty array if both formula and value are <code>null</code>
  4. */
  5. @SuppressWarnings("resource")
  6. private static Ptg[] convertDoubleFormula(String formula, Double value, HSSFSheet sheet) {
  7. if (formula == null) {
  8. if (value == null) {
  9. return Ptg.EMPTY_PTG_ARRAY;
  10. }
  11. return new Ptg[] { new NumberPtg(value.doubleValue()), };
  12. }
  13. if (value != null) {
  14. throw new IllegalStateException("Both formula and value cannot be present");
  15. }
  16. HSSFWorkbook wb = sheet.getWorkbook();
  17. return HSSFFormulaParser.parse(formula, wb, FormulaType.CELL, wb.getSheetIndex(sheet));
  18. }

代码示例来源:origin: org.apache.poi/poi

  1. /**
  2. * TODO - parse conditional format formulas properly i.e. produce tRefN and tAreaN instead of tRef and tArea
  3. * this call will produce the wrong results if the formula contains any cell references
  4. * One approach might be to apply the inverse of SharedFormulaRecord.convertSharedFormulas(Stack, int, int)
  5. * Note - two extra parameters (rowIx &amp; colIx) will be required. They probably come from one of the Region objects.
  6. *
  7. * @param formula The formula to parse, excluding the leading equals sign.
  8. * @param sheet The sheet that the formula is on.
  9. * @return <code>null</code> if <tt>formula</tt> was null.
  10. */
  11. public static Ptg[] parseFormula(String formula, HSSFSheet sheet) {
  12. if(formula == null) {
  13. return null;
  14. }
  15. int sheetIndex = sheet.getWorkbook().getSheetIndex(sheet);
  16. return HSSFFormulaParser.parse(formula, sheet.getWorkbook(), FormulaType.CELL, sheetIndex);
  17. }

代码示例来源:origin: org.apache.poi/poi

  1. private int getSheetExtIx(SheetIdentifier sheetIden) {
  2. int extIx;
  3. if (sheetIden == null) {
  4. extIx = -1;
  5. } else {
  6. String workbookName = sheetIden.getBookName();
  7. String firstSheetName = sheetIden.getSheetIdentifier().getName();
  8. String lastSheetName = firstSheetName;
  9. if (sheetIden instanceof SheetRangeIdentifier) {
  10. lastSheetName = ((SheetRangeIdentifier)sheetIden).getLastSheetIdentifier().getName();
  11. }
  12. if (workbookName == null) {
  13. int firstSheetIndex = _uBook.getSheetIndex(firstSheetName);
  14. int lastSheetIndex = _uBook.getSheetIndex(lastSheetName);
  15. extIx = _iBook.checkExternSheet(firstSheetIndex, lastSheetIndex);
  16. } else {
  17. extIx = _iBook.getExternalSheetIndex(workbookName, firstSheetName, lastSheetName);
  18. }
  19. }
  20. return extIx;
  21. }

代码示例来源:origin: org.apache.poi/poi

  1. /**
  2. * sets the order of appearance for a given sheet.
  3. *
  4. * @param sheetname the name of the sheet to reorder
  5. * @param pos the position that we want to insert the sheet into (0 based)
  6. */
  7. @Override
  8. public void setSheetOrder(String sheetname, int pos ) {
  9. int oldSheetIndex = getSheetIndex(sheetname);
  10. _sheets.add(pos,_sheets.remove(oldSheetIndex));
  11. workbook.setSheetOrder(sheetname, pos);
  12. FormulaShifter shifter = FormulaShifter.createForSheetShift(oldSheetIndex, pos);
  13. for (HSSFSheet sheet : _sheets) {
  14. sheet.getSheet().updateFormulasAfterCellShift(shifter, /* not used */ -1 );
  15. }
  16. workbook.updateNamesAfterCellShift(shifter);
  17. updateNamedRangesAfterSheetReorder(oldSheetIndex, pos);
  18. updateActiveSheetAfterSheetReorder(oldSheetIndex, pos);
  19. }

代码示例来源:origin: org.apache.poi/poi

  1. @Override
  2. public CellRange<HSSFCell> setArrayFormula(String formula, CellRangeAddress range) {
  3. // make sure the formula parses OK first
  4. int sheetIndex = _workbook.getSheetIndex(this);
  5. Ptg[] ptgs = HSSFFormulaParser.parse(formula, _workbook, FormulaType.ARRAY, sheetIndex);
  6. CellRange<HSSFCell> cells = getCellRange(range);
  7. for (HSSFCell c : cells) {
  8. c.setCellArrayFormula(range);
  9. }
  10. HSSFCell mainArrayFormulaCell = cells.getTopLeftCell();
  11. FormulaRecordAggregate agg = (FormulaRecordAggregate) mainArrayFormulaCell.getCellValueRecord();
  12. agg.setArrayFormula(range, ptgs);
  13. return cells;
  14. }

代码示例来源:origin: org.apache.poi/poi

  1. private void setRepeatingRowsAndColumns(
  2. CellRangeAddress rowDef, CellRangeAddress colDef) {
  3. int sheetIndex = _workbook.getSheetIndex(this);
  4. int maxRowIndex = SpreadsheetVersion.EXCEL97.getLastRowIndex();
  5. int maxColIndex = SpreadsheetVersion.EXCEL97.getLastColumnIndex();

代码示例来源:origin: org.apache.poi/poi

  1. /**
  2. * Shifts columns in range [startColumn, endColumn] for n places to the right.
  3. * For n < 0, it will shift columns left.
  4. * Additionally adjusts formulas.
  5. * Probably should also process other features (hyperlinks, comments...) in the way analog to shiftRows method
  6. * @param startRow the row to start shifting
  7. * @param endRow the row to end shifting
  8. * @param n the number of rows to shift
  9. */
  10. @Beta
  11. @Override
  12. public void shiftColumns(int startColumn, int endColumn, int n){
  13. HSSFColumnShifter columnShifter = new HSSFColumnShifter(this);
  14. columnShifter.shiftColumns(startColumn, endColumn, n);
  15. int sheetIndex = _workbook.getSheetIndex(this);
  16. short externSheetIndex = _book.checkExternSheet(sheetIndex);
  17. String sheetName = _workbook.getSheetName(sheetIndex);
  18. FormulaShifter formulaShifter = FormulaShifter.createForColumnShift(
  19. externSheetIndex, sheetName, startColumn, endColumn, n, SpreadsheetVersion.EXCEL97);
  20. updateFormulasForShift(formulaShifter);
  21. // add logic for hyperlinks etc, like in shiftRows()
  22. }

代码示例来源:origin: org.apache.poi/poi

  1. private void updateFormulasForShift(FormulaShifter formulaShifter) {
  2. int sheetIndex = _workbook.getSheetIndex(this);
  3. short externSheetIndex = _book.checkExternSheet(sheetIndex);
  4. // update formulas on this sheet that point to rows which have been moved
  5. _sheet.updateFormulasAfterCellShift(formulaShifter, externSheetIndex);
  6. // update formulas on other sheets that point to rows that have been moved on this sheet
  7. int nSheets = _workbook.getNumberOfSheets();
  8. for (int i = 0; i < nSheets; i++) {
  9. InternalSheet otherSheet = _workbook.getSheetAt(i).getSheet();
  10. if (otherSheet == this._sheet) {
  11. continue;
  12. }
  13. short otherExtSheetIx = _book.checkExternSheet(i);
  14. otherSheet.updateFormulasAfterCellShift(formulaShifter, otherExtSheetIx);
  15. }
  16. _workbook.getWorkbook().updateNamesAfterCellShift(formulaShifter);
  17. }

代码示例来源:origin: org.apache.poi/poi

  1. public void setCellFormula(String formula) {
  2. if(isPartOfArrayFormulaGroup()){
  3. notifyArrayFormulaChanging();
  4. }
  5. int row=_record.getRow();
  6. short col=_record.getColumn();
  7. short styleIndex=_record.getXFIndex();
  8. if (formula==null) {
  9. notifyFormulaChanging();
  10. setCellType(CellType.BLANK, false, row, col, styleIndex);
  11. return;
  12. }
  13. int sheetIndex = _book.getSheetIndex(_sheet);
  14. Ptg[] ptgs = HSSFFormulaParser.parse(formula, _book, FormulaType.CELL, sheetIndex);
  15. setCellType(CellType.FORMULA, false, row, col, styleIndex);
  16. FormulaRecordAggregate agg = (FormulaRecordAggregate) _record;
  17. FormulaRecord frec = agg.getFormulaRecord();
  18. frec.setOptions((short) 2);
  19. frec.setValue(0);
  20. //only set to default if there is no extended format index already set
  21. if (agg.getXFIndex() == (short)0) {
  22. agg.setXFIndex((short) 0x0f);
  23. }
  24. agg.setParsedExpression(ptgs);
  25. }
  26. /**

代码示例来源:origin: org.apache.poi/poi

  1. @Override
  2. public HSSFAutoFilter setAutoFilter(CellRangeAddress range) {
  3. InternalWorkbook workbook = _workbook.getWorkbook();
  4. int sheetIndex = _workbook.getSheetIndex(this);

代码示例来源:origin: org.apache.poi/poi

  1. int sheetIndex = _workbook.getSheetIndex(this);
  2. short externSheetIndex = _book.checkExternSheet(sheetIndex);
  3. String sheetName = _workbook.getSheetName(sheetIndex);

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.poi

  1. /**
  2. * Returns the name of this sheet
  3. *
  4. * @return the name of this sheet
  5. */
  6. @SuppressWarnings("resource")
  7. @Override
  8. public String getSheetName() {
  9. HSSFWorkbook wb = getWorkbook();
  10. int idx = wb.getSheetIndex(this);
  11. return wb.getSheetName(idx);
  12. }

代码示例来源:origin: com.haulmont.thirdparty/poi

  1. /**
  2. * Returns the name of this sheet
  3. *
  4. * @return the name of this sheet
  5. */
  6. public String getSheetName() {
  7. HSSFWorkbook wb = getWorkbook();
  8. int idx = wb.getSheetIndex(this);
  9. return wb.getSheetName(idx);
  10. }

相关文章

HSSFWorkbook类方法