「問題は、セルに数値のように見える値があることです」=> Excelで表示すると、数値のように見えますか?
「しかし、実際には文字列です」=>それはどういう意味ですか?それらが本当に文字列であることをどうやって知るのですか?
「フォーマットセルを見ると」=>「フォーマットセル」とは???
'... Excelでは、タイプは「テキスト」と表示されます'=>説明してください。
「それでもHSSFセルはそれが数値だと考えています。」=> the_cell.getCellType()がCell.CELL_TYPE_NUMERICを返すという意味ですか?
「値を文字列として取得するにはどうすればよいですか?」=> NUMERICの場合は、the_cell.getNumericCellValue()を使用して数値を取得し、任意の方法で文字列としてフォーマットします。
「cell.getRichStringValueを使用しようとすると、例外が発生します。」=>したがって、文字列ではありません。
「cell.toStringの場合、Excelシートとまったく同じ値ではありません。」=>したがって、cell.toString()は、Excelがフォーマットする方法でフォーマットしません。
タイプを決定するためにヒューリスティックExcelが使用するものは何でも、あなたには関係ありません。重要なのは、ファイルに保存され、getCellType()によって明らかにされたその決定の結果です。