From f758bbb915f632cde9bf2261d748b1c399a2ed72 Mon Sep 17 00:00:00 2001 From: Tim Allison Date: Tue, 20 Jun 2017 12:59:33 +0000 Subject: [PATCH] bug 61053 -- not a fix, but this aligns XSSFBSheetHandler's behavior with streaming and non-streaming extractors for xlsx git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1799345 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/xssf/binary/XSSFBSheetHandler.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSheetHandler.java b/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSheetHandler.java index def489f12c..819281f650 100644 --- a/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSheetHandler.java +++ b/src/ooxml/java/org/apache/poi/xssf/binary/XSSFBSheetHandler.java @@ -21,6 +21,7 @@ package org.apache.poi.xssf.binary; import java.io.InputStream; import java.util.Queue; +import org.apache.poi.ss.usermodel.BuiltinFormats; import org.apache.poi.ss.usermodel.DataFormatter; import org.apache.poi.ss.util.CellAddress; import org.apache.poi.util.Internal; @@ -193,6 +194,14 @@ public class XSSFBSheetHandler extends XSSFBParser { private String formatVal(double val, int styleIdx) { String formatString = styles.getNumberFormatString(styleIdx); short styleIndex = styles.getNumberFormatIndex(styleIdx); + //for now, if formatString is null, silently punt + //and use "General". Not the best behavior, + //but we're doing it now in the streaming and non-streaming + //extractors for xlsx. See BUG-61053 + if (formatString == null) { + formatString = BuiltinFormats.getBuiltinFormat(0); + styleIndex = 0; + } return dataFormatter.formatRawCellContents(val, styleIndex, formatString); }