@makiaea I think you may be onto something with the xslx file format. I opened the xslx file in LibreOffice and saved it as a new xlsx file (new file name rather than overwriting). It imports into xlsx-utils without the error!
The file had originally been created in Excel but the new version was slightly smaller at 5208 bytes compared to 8127 bytes.
So it seems that not all xlsx files are alike, and specifically there seems to be a issue with the format of the Microsoft one.
@makiaea @jeremyruston
My hope of resolving (or working round) this issue using LibreOffice was short-lived since once I started to add more data to the Excel file, albeit in LibreOffice, it too started to fail on import in exactly the same way. It is like the routine is not reading that data in the cells in the Excel file format.
@makiaea @jeremyruston
A lot more testing and it seems the problem with Xlsx-utils is that when Excel saves a workbook it often adds multiple blank rows below your data. It seems to happen if while Excel is open a cell is elected below the data area even though no entry is made in that cell or row. I discovered this by savig the worksheet as a CSV and opening it in a text editor and multiple blank rows were revealed.
So when saving a workbook you need to ensure that there are no empty rows by the following method. Select all the rows below your last valid data row and right-click - Delete (Clear contents is not sufficient). Otherwise Xlsx-utils would need to be modified to ignore rows below the last valid row of data.
The checkbox in the configuration of the import specification “Skip this tiddler when field blank” also seems to fix this problem , but that might have been intended for data with with spaces between each valid data row.