How can I obtain char matrix from excel?

Hi everybody,
I have a excel file (216x1) and I convert to it a char matrix (216x1). How can I do it?
I presented my excel file in attachment.

 Accepted Answer

filename = 'S5_origin.xlsx';
In R2015a, you can try using readtable to generate a table. Note the resulting table has 215 rows, since the first row of the file was interpreted as the variable name.
T = readtable(filename)
T = 215×1 table
GAS1C1 __________ {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'}
I'm not sure what readtable options were available in R2015a to try to change how the file was interpreted, so if readtable doesn't work or the result is not to your liking, you can use xlsread to generate a cell array of char vectors:
[~,~,c] = xlsread(filename) % c is a cell array of char vectors (216x1)
c = 216×1 cell array
{'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C2'} {'GAS1C2'} {'GAS1C2'}
I don't think you really want a 216x1 char matrix.

4 Comments

As seen in the attached picture, I want to obtain 216x1 char from excel file.
As shown in my answer, xlsread gives you a 216x1 cell array of char vectors.
If you want a 216x6 (not 216x1) char matrix, then you can vertically concatenate the contents of the cell array (but only if the vectors contained in the cell array all have the same length):
filename = 'S5_origin.xlsx';
[~,~,c] = xlsread(filename) % c is a cell array of char vectors (216x1)
c = 216×1 cell array
{'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C1'} {'GAS1C2'} {'GAS1C2'} {'GAS1C2'}
c = vertcat(c{:}) % now c is a 216x6 char matrix
c = 216×6 char array
'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C1' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS1C2' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C1' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS2C2' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C1' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS3C2' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C1' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2' 'GAS4C2'
That only works when all elements of the cell array contain vectors of the same length.
Voss, thank you. It works :)
You're welcome!

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2015a

Asked:

on 20 Nov 2023

Commented:

on 20 Nov 2023

Community Treasure Hunt

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

Start Hunting!