title: Getting wrong numeric values from Excels first column
body: <p>I read Excel spreadsheet (.xlsx) with Apache-poi 3.8. When I try to get numeric value from cell at 0 column index, I get wrong numberic value.</p>
  
  <p>For example my table looks like this</p>
  
  <pre><code>+-----------+---------+---------+
  | Header1   | Header2 | Header3 |
  +-----------+---------+---------+
  | 123456789 | AA      | BB      |
  |     99999 | CC      | DD      |
  +-----------+---------+---------+
  </code></pre>
  
  <p>I begin to read on Row index 1 and Cell Index 0. It should returns <code>123456789</code> but it returns wrong value <code>13</code>. Next columns are correct even if it's numeric value. If the first cell contains string it returns correct value as well. Row 2 Cell 0 reads like 14 and next columns are correct.</p>
  
  <p>The number I get from first column is somehow related to amount of rows in sheet, If I have 6 rows, it starts to return <code>16,17,18,19,20</code>. It should not have to be related with other frameworks but I use <code>myfaces tomahawk</code> and <code>jsf 1.2</code> for upload my Excel file.</p>
  
  <pre><code>public String getCellStr(final int x, final int y) {
      String cellValue = "";
      try {
          Row row = sheet.getRow(x);
          Cell cell = row.getCell(y);
          if (row == null || (row != null &amp;&amp; cell == null)) {
              cellValue = "";
          } else {
              switch (cell.getCellType()) {
              case Cell.CELL_TYPE_STRING:
                  cellValue = cell.toString();
                  break;
              case Cell.CELL_TYPE_NUMERIC:
                  if (DateUtil.isCellDateFormatted(cell)) {
                      cellValue = DateUtils.date2String(cell.getDateCellValue());
                  } else {
                      Double value = cell.getNumericCellValue();
                      Long longValue = value.longValue();
                      cellValue = longValue.toString();
                  }
                  break;
              case Cell.CELL_TYPE_BOOLEAN:
                  cellValue = new String(new Boolean(
                                    cell.getBooleanCellValue()).toString());
                  break;
              case Cell.CELL_TYPE_BLANK:
                  cellValue = "";
                  break;
              }
          }
      } catch (NullPointerException e) {
          return cellValue;
      }
      return cellValue;
  }
  </code></pre>