--- src/java/org/apache/poi/hssf/model/LinkTable.java (revision 1815000) +++ src/java/org/apache/poi/hssf/model/LinkTable.java (working copy) @@ -459,7 +459,7 @@ private static int getSheetIndex(String[] sheetNames, String sheetName) { for (int i = 0; i < sheetNames.length; i++) { - if (sheetNames[i].equals(sheetName)) { + if (sheetNames[i].equalsIgnoreCase(sheetName)) { return i; } --- src/java/org/apache/poi/ss/formula/ptg/ExternSheetNameResolver.java (revision 1815000) +++ src/java/org/apache/poi/ss/formula/ptg/ExternSheetNameResolver.java (working copy) @@ -45,7 +45,7 @@ } if (externalSheet instanceof ExternalSheetRange) { ExternalSheetRange r = (ExternalSheetRange)externalSheet; - if (! r.getFirstSheetName().equals(r.getLastSheetName())) { + if (! r.getFirstSheetName().equalsIgnoreCase(r.getLastSheetName())) { sb.append(':'); SheetNameFormatter.appendFormat(sb, r.getLastSheetName()); } @@ -59,7 +59,7 @@ sb.append("#REF"); // note - '!' added just once below } else { SheetNameFormatter.appendFormat(sb, firstSheetName); - if (! firstSheetName.equals(lastSheetName)) { + if (! firstSheetName.equalsIgnoreCase(lastSheetName)) { sb.append(':'); sb.append(lastSheetName); } --- src/java/org/apache/poi/ss/util/CellReference.java (revision 1815000) +++ src/java/org/apache/poi/ss/util/CellReference.java (working copy) @@ -560,7 +560,7 @@ && _isColAbs == cr._isColAbs && ((_sheetName == null) ? (cr._sheetName == null) - : _sheetName.equals(cr._sheetName)); + : _sheetName.equalsIgnoreCase(cr._sheetName)); } @Override @@ -570,7 +570,7 @@ result = 31 * result + _colIndex; result = 31 * result + (_isRowAbs ? 1 : 0); result = 31 * result + (_isColAbs ? 1 : 0); - result = 31 * result + (_sheetName == null ? 0 : _sheetName.hashCode()); + result = 31 * result + (_sheetName == null ? 0 : _sheetName.toLowerCase(Locale.ROOT).hashCode()); return result; } } --- src/ooxml/java/org/apache/poi/xssf/usermodel/BaseXSSFEvaluationWorkbook.java (revision 1815000) +++ src/ooxml/java/org/apache/poi/xssf/usermodel/BaseXSSFEvaluationWorkbook.java (working copy) @@ -308,7 +308,7 @@ workbookName = null; } - if (lastSheetName == null || firstSheetName.equals(lastSheetName)) { + if (lastSheetName == null || firstSheetName.equalsIgnoreCase(lastSheetName)) { return new ExternalSheet(workbookName, firstSheetName); } else { return new ExternalSheetRange(workbookName, firstSheetName, lastSheetName); --- src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java (revision 1815000) +++ src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java (working copy) @@ -857,7 +857,7 @@ String sheetName = XSSFRelation.WORKSHEET.getFileName(sheetNumber); for(POIXMLDocumentPart relation : getRelations()) { if(relation.getPackagePart() != null && - sheetName.equals(relation.getPackagePart().getPartName().getName())) { + sheetName.equalsIgnoreCase(relation.getPackagePart().getPartName().getName())) { // name is taken => try next one sheetNumber++; continue outerloop; @@ -1595,7 +1595,7 @@ WorkbookUtil.validateSheetName(sheetname); // Do nothing if no change - if (sheetname.equals(oldSheetName)) { + if (sheetname.equalsIgnoreCase(oldSheetName)) { return; }