You use rdim=1 cdim=1 which implies a dimension of 2, but you define a as a(i), which has a dimension of 1 (i). So either you keep a(i) and write (note that I start at a2):

parameter a(i) beginning of interval for jobs
$call ‘GDXXRW.exe indata1.xlsx par=a rng=Interval!a2 rdim=1 trace = 3’
$gdxin ‘indata1.gdx’;
$load a
display a

Or you make the parameter a two-dimensional, e.g. a(i,*) and you write

parameter a(i,*) beginning of interval for jobs
$call ‘GDXXRW.exe indata1.xlsx par=a rng=Interval!a1 rdim=1 cdim=1 trace = 3’

This is my codes to transfer data from excel to GAMS. The code works well but the data display is “TRUE” for all cells and when the variables are called the data turns to “1.000” all. Some of the data are actually “1.000”, but not all. Please what can I do. I need urgent help to continue with my project.