Read Excel file with Matlab

2 702 vues (au cours des 30 derniers jours)
Palumbo Piero
Palumbo Piero le 17 Nov 2017
Commenté : Paruvachi Raja le 21 Jan 2022
Hello, I have an Excel file with numbers and strings. If I use the function xlsread it gives me back only the numbers. How can I read the strings?

Réponse acceptée

Michelle Hirsch
Michelle Hirsch le 1 Avr 2020
If the data in your spreadsheet is largely tabular, you'll likely be happier reading it into a table. tables allow you to mix numeric and text data in a way that's much easier to manage for most applications than a cell array.
t = readtable('myfile')
  2 commentaires
Vinod Jha
Vinod Jha le 20 Mai 2020
Hi Michelle,
Can you please suggest how I should access excel sheet of each cell contains a small image?
Michelle Hirsch
Michelle Hirsch le 20 Mai 2020
I'm not sure if I know exactly what you are trying to do. My impression is that Excel doesn't actually have a concept of images in cells - images are just placed on the canvas and positioned to look like they live in cells.
Here are a couple of thoughts if you are trying to read the image data into MATLAB:
  • Take advantage of the fact that Excel files are actually ZIP files. Unzip and import the images.
For instance, I made a file with two pictures. You'll see them in the xl/media file:
>> contents = string(unzip('twopictures.xlsx'))'
contents =
14×1 string array
"[Content_Types].xml"
"_rels/.rels"
"xl/_rels/workbook.xml.rels"
"xl/workbook.xml"
"xl/drawings/drawing1.xml"
"xl/media/image1.jpeg"
"xl/styles.xml"
"xl/drawings/_rels/drawing1.xml.rels"
"xl/media/image2.jpeg"
"xl/theme/theme1.xml"
"xl/worksheets/sheet1.xml"
"xl/worksheets/_rels/sheet1.xml.rels"
"docProps/core.xml"
"docProps/app.xml"
I could then use imread to read the images, e.g.
im = imread('xl/media/image1.jpeg');
The biggest issue is I don't know how to figure out where the images were located.
  • If you are on Windows, the other approach would be to use ActiveX to connect to Excel to read the images. I'm on a Mac so I haven't tried this.

Connectez-vous pour commenter.

Plus de réponses (2)

KSSV
KSSV le 17 Nov 2017
Modifié(e) : KSSV le 17 Nov 2017
[num,txt,raw] = xlsread('myfile') ;
num gives only numbers.
txt gives only text data.
raw gives the complete file.

Ijaz Younis
Ijaz Younis le 6 Nov 2019
[num,txt,raw] = xlsread('myfile')
  1 commentaire
Paruvachi Raja
Paruvachi Raja le 21 Jan 2022
xlasread is not commended according MATHWORKS.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by