You may need to create the cell before you change the value of it. If a cell has no value it 'doesn't exist' so to speak and so you need to create it and then set it's value. You could try using the getCell() with mising rowPolicy to try and obtain a cell if their isn't currently one, like so:
myRow.getCell(7, Row.CREATE_NULL_AS_BLANK);//Should create cell if it is currently blank
Once you have the cell, try setting it's value as you have been doing.
Alternatively, try checking beforehand if you have a cell, e.g
if (myCell ==null) {
//Create cell code
Cell cell = row.createCell(0);
}
Good luck!