Can't read Excel files on Linux

13 次查看(过去 30 天)
Gerard Capes
Gerard Capes 2018-4-13
A user has a large number of excel files (.xlsx) to read using `xlsread`. These files open just fine with Excel, and using `xlsread` using R2017a on Windows. Using R2017a on Linux, the files are not recognised as valid Excel files. They will however open just fine with LibreOffice, and if they are re-saved once open in LibreOffice, they will open in MATLAB. Re-saving is not practical given the large number of files involved.
Windows:
>> [status,sheets,xlFormat] = xlsfinfo('input_matrix_4.xlsx')
status =
'Microsoft Excel Spreadsheet'
sheets =
cell
'Sheet1'
xlFormat =
'xlOpenXMLWorkbook'
Linux:
>> [status,sheets,xlFormat] = xlsfinfo('input_matrix_4.xlsx')
status =
0×0 empty char array
sheets =
'Unreadable Excel file: Could not open file /tmp/tpbb084cda_0a2d_463b_8ae0_46fe98df668a/docProps/app.xml. No such file or directory.'
xlFormat =
0×0 empty char array
Is this a bug?
  2 个评论
Marc Compere
Marc Compere 2020-2-18
I'm getting this same result in Ubuntu 18.04.4.
Looks like a feature.
Gerard Capes
Gerard Capes 2020-2-18
I've just dug through my emails to find the resolution to this story :)
The files were generated by STATA, and it seems they weren't quite correct/valid Excel files. Saving them in Excel/LibreOffice was 'fixing' them which allowed MATLAB to read them. This is only a solution if you have a small number of files.
To read the files I had, MathWorks recommended I use readtable and table2array to load the xls files into a matrix.

请先登录,再进行评论。

回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by