When writing array data to Excel/CSV file each character in new column

1 Ansicht (letzte 30 Tage)
Hi,
I'm trying to write a script that runs through a folder of files and pulls out all the names that are then written to Excel. However when I do this, I will get a spreadsheet where each character is put in a new column. It's supposed to be really simple and I'm obviously missing something, but I'm not completely sure, what.
clear all;
close all;
pathname=fullfile(uigetdir());
dirdata = dir(fullfile(pathname,'.'));
dirdata= dirdata(arrayfun(@(x) x.name(1), dirdata) ~= '.');
fnsz = size(dirdata);
numfiles = fnsz(1);
for n=1:numfiles-1
fullfilename=fullfile(pathname,dirdata(n).name);
name=regexp(char(dirdata(n).name),'\.','split');
fileID=name{1,1};
filenames(n,:)=[fileID];
end
[savefile,savepath]=uiputfile('*.xlsx', 'Save results in an Excel file');
outname=fullfile(savepath,savefile);
if ispc
xlswrite(outname,filenames,'Sheet1','A1');
else
xlswrite(outname,filenames,'Sheet1','A1');
end
Thanks.

Akzeptierte Antwort

KSSV
KSSV am 17 Nov. 2016
Bearbeitet: KSSV am 17 Nov. 2016
close all;
pathname=fullfile(uigetdir());
dirdata = dir(fullfile(pathname,'.'));
dirdata= dirdata(arrayfun(@(x) x.name(1), dirdata) ~= '.');
fnsz = size(dirdata);
numfiles = fnsz(1);
filenames = cell(numfiles-1,1) ;
for n=1:numfiles-1
fullfilename=fullfile(pathname,dirdata(n).name);
name=regexp(char(dirdata(n).name),'\.','split');
fileID=name{1,1};
filenames{n}=fileID;
end
[savefile,savepath]=uiputfile('*.xlsx', 'Save results in an Excel file');
outname=fullfile(savepath,savefile);
if ispc
xlswrite(outname,filenames,'Sheet1','A1');
else
xlswrite(outname,filenames,'Sheet1','A1');
end
  3 Kommentare
KSSV
KSSV am 17 Nov. 2016
I am getting each file name in single cell...
Anke Kügler
Anke Kügler am 17 Nov. 2016
Ok, when using the xlwrite function (I didn't have my Poi library installed, that's why I was writing to CSV instead), it's working perfectly.
Still doesn't make sense why it's messing up when writing CSV

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by