0
私はこのようになりますIDで文書内の特定の属性を反復処理するプログラムを書いている:他の文字を含む文字列からintを取得するには?
"id": "competitor:2672"
私は、Excelファイルから読み取られたデータに基づいて反復処理したいです。唯一の問題は、前記エクセルファイルにおいて、IDが
2672
の「競合他社ID」の列にしか与えられていないことです。
指定された文字列を整数に解析できません。私はあなたがint
にあなたのString
を変換しようとしているので、あなたは現在NumberFormatException
を取得しているこの
String COLUMN_ID = "G" // Column letter in which the IDs are stored
Document home = competitors.get(0);
Document away = competitors.get(1);
String homeIDString = home.get("id").toString();
int homeID = //how to get this from the upper string?
String awayIDString = away.get("id").toString();
int awayID = //how to get this from the upper string?
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
XSSFSheet sheet = workbook.getSheetAt(0);
for (int row=0; <something>; row++) {
XSSFCell cell = sheet.getRow(row).getCell(CellReference.convertColStringToIndex(COLUMN_ID));
if (cell.getCellTypeEnum().equals(NUMERIC)) int cellValue = (int) cell.getNumericValue();
if (cellValue == homeID) { do something }
else if (cellValue == awayID) { do something }
}
に
2672
を変換する前に、サブストリングを使用してcompetitor:
を削除することです「私は整数に与えられた文字列を解析することはできません*。*」 - なぜいけないのでしょうか?私はあなたがid文字列がExcelからの数字で終わるかどうかを確認することができると思うが、数字を文字列から引っ張って数値として比較するのを止めているのは分からない。 – azurefrog私はプログラミングにあまり経験はありませんが、私の経験では、これは** NumberFormatException **を与えます。または私は間違っていますか? –