既存のxlsファイルから判別した名前で新しいxlsファイルを書き込む方法について質問したいと思います。私はこのコードを試して、私が望むように新しいファイルを生成することができますが、破損している可能性があるので、私はそれを開くことができません。他のユーザーがコードを実行するのに柔軟性があるので、私はuigetfileを使用する必要があります。ここに私のコードは次のとおりです。新しいxlsファイルをmatlabの既存のxlsファイルから書き込む際のエラー
%% Select rainfall data
% Call uigetfile by specifying file name and path as output
[filename,filepath] = uigetfile('*.xls','Select the rainfall data'); % gets directory from any folder
fido=fopen(fullfile(filepath,'rainfall.xls'),'w'); % open output file to write
fidi=fopen(fullfile(filepath,filename)); % open input file
fwrite(fido,fread(fidi,'*char')); % copy to output
fclose(fidi); % close that input file
fido=fclose(fido); clear fid*
それはrainfall.xlsを生成することができますが、私はエクセルを通じてファイルを開くと、コンテンツが混乱(添付画像)です。私はまた、既存のxlsファイルを添付します。私は実際にrainfall.xlsに既存のファイルをコピーするために何をしたいのですか?次にmatlabのテーブルにrainfall.xlsをimporできます。私は、インポートツールを通してそれを生成し、このコードにそれを統合したい:
[![%% Import data from spreadsheet
% Script for importing data from the following spreadsheet:
%
% Workbook: D:\TUM\Study Project\Study Project TUM\raw data\rain gauge\ULL00317_20171102.xls
% Worksheet: Tabelle1
%
% To extend the code for use with different selected data or a different
% spreadsheet, generate a function instead of a script.
% Auto-generated by MATLAB on 2017/11/03 19:36:55
%% Import the data, extracting spreadsheet dates in Excel serial date format
\[~, ~, raw, dates\] = xlsread('D:\TUM\Study Project\Study Project TUM\raw data\rain gauge\ULL00317_20171102.xls','Tabelle1','A:F','',@convertSpreadsheetExcelDates);
raw(cellfun(@(x) ~isempty(x) && isnumeric(x) && isnan(x),raw)) = {''};
raw = raw(:,\[2,3,4,5,6\]);
dates = dates(:,1);
%% Replace non-numeric cells with NaN
R = cellfun(@(x) ~isnumeric(x) && ~islogical(x),raw); % Find non-numeric cells
raw(R) = {NaN}; % Replace non-numeric cells
R = cellfun(@(x) ~isnumeric(x) && ~islogical(x),dates); % Find non-numeric cells
dates(R) = {NaN}; % Replace non-numeric Excel dates with NaN
%% Create output variable
data = reshape(\[raw{:}\],size(raw));
%% Create table
ULL0031720171102 = table;
%% Allocate imported array to column variable names
ULL0031720171102.DatumUhrzeit = datetime(\[dates{:,1}\].', 'ConvertFrom', 'Excel');
ULL0031720171102.ULL00317_3 = data(:,1);
ULL0031720171102.ULL00317_CH31 = data(:,2);
ULL0031720171102.ULL00317_CH32 = data(:,3);
ULL0031720171102.ULL00317_1 = data(:,4);
ULL0031720171102.ULL00317_2 = data(:,5);
% For code requiring serial dates (datenum) instead of datetime, uncomment
% the following line(s) below to return the imported dates as datenum(s).
% ULL0031720171102.DatumUhrzeit=datenum(ULL0031720171102.DatumUhrzeit);
%% Clear temporary variables
clearvars data raw dates R;
あなたは私を助けていただけますか?ご助力ありがとうございます。
これが終了するXLSファイルです:これは混乱にある新しいXLSファイルです
同じ質問が繰り返し働いています。 OPのプロフィール活動だけを見てください。 –