Эти строки, вероятно, виновны:
int t = (int) sh1.getRow(i).getCell(j).getNumericCellValue();
row.add(Integer.toString(t));
Поскольку значение меньше 1, оно будет усечено до нуля.Проценты хранятся в виде значений с плавающей запятой, где 100% = 1,0.
Использовать с плавающей запятой!