Read Excel file with Matlab

2,775 次查看(过去 30 天)
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?

采纳的回答

Michelle Hirsch
Michelle Hirsch 2020-4-1
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 个评论
Vinod Jha
Vinod Jha 2020-5-20
Hi Michelle,
Can you please suggest how I should access excel sheet of each cell contains a small image?
Michelle Hirsch
Michelle Hirsch 2020-5-20
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.

请先登录,再进行评论。

更多回答(2 个)

KSSV
KSSV 2017-11-17
编辑:KSSV 2017-11-17
[num,txt,raw] = xlsread('myfile') ;
num gives only numbers.
txt gives only text data.
raw gives the complete file.

Ijaz Younis
Ijaz Younis 2019-11-6
[num,txt,raw] = xlsread('myfile')

Community Treasure Hunt

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

Start Hunting!

Translated by