Excel スプレッドシートへのデータの書き込み
表形式データのスプレッドシート ファイルへの書き込み
ワークスペース内の table を Microsoft® Excel® のスプレッドシート ファイルにエクスポートするには、関数 writetable
を使用します。ワークスペースのデータは、ファイル内の任意のワークシートに、そしてそのワークシート内の任意の位置にエクスポートできます。既定では、writetable
はファイルの第 1 ワークシートに、セル A1
から table データを書き込みます。
たとえば、列方向データをもつサンプル table を作成し、最初の 5 行を表示します。
load patients.mat
T = table(LastName,Age,Weight,Smoker);
T(1:5,:)
ans=5×4 table
LastName Age Weight Smoker
____________ ___ ______ ______
{'Smith' } 38 176 true
{'Johnson' } 43 163 false
{'Williams'} 38 131 false
{'Jones' } 40 133 false
{'Brown' } 49 119 false
table T
を、新規のスプレッドシート ファイル patientdata.xlsx
の最初のシートに、セル D1
から書き込みます。ワークシートの書き込む部分を指定するには、名前と値のペアの引数 Range
を使用します。既定では、writetable
は、table 変数の名前をスプレッドシート ファイルの列見出しとして書き込みます。
filename = 'patientdata.xlsx'; writetable(T,filename,'Sheet',1,'Range','D1')
table T
を、変数名なしで 'MyNewSheet'
という新しいシートに書き込みます。変数名なしでデータを書き込むには、名前と値のペア WriteVariableNames
を false
として指定します。
writetable(T,filename,'Sheet','MyNewSheet','WriteVariableNames',false);
スプレッドシート ファイルへの数値データとテキスト データの書き込み
数値配列と cell 配列を Microsoft® Excel® のスプレッドシート ファイルにエクスポートするには、関数 writematrix
または関数 writecell
を使用します。個々の数値およびテキストのワークスペース変数がもつデータは、ファイル内の任意のワークシートに、そしてそのワークシート内の任意の位置にエクスポートできます。既定では、インポート関数はファイル内の最初のワークシートにセル A1
を始点として行列のデータを書き込みます。
たとえば、数値データをもつサンプル配列 A
と、テキスト データと数値データをもつサンプル cell 配列 C
を作成します。
A = magic(5) C = {'Time', 'Temp'; 12 98; 13 'x'; 14 97}
A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 C = 'Time' 'Temp' [ 12] [ 98] [ 13] 'x' [ 14] [ 97]
新規スプレッドシート ファイル testdata.xlsx
の最初のシートの 5 行 5 列の矩形領域 E1:I5
に、配列 A
を書き込みます。
filename = 'testdata.xlsx'; writematrix(A,filename,'Sheet',1,'Range','E1:I5')
ワークシート Temperatures
のセル B2
から始まる矩形領域に、cell 配列 C
を書き込みます。最初のセルのみを使用して範囲を指定できます。
writecell(C,filename,'Sheet','Temperatures','Range','B2');
ワークシート Temperatures
があらかじめ存在していなかったため writecell
は警告を表示しますが、この警告は無効にできます。
新規ワークシート追加時の警告の無効化
書き込み先のワークシートがファイルに存在しない場合、関数 writetable
および関数 writecell
は次の警告を表示します。
Warning: Added specified worksheet.
警告メッセージを非表示にする方法については、警告の非表示を参照してください。
Excel ファイル内のセルの書式設定
Windows® システムの Excel ファイルにカスタム書式 (フォントや色など) を使用してデータを書き込むには、関数 writetable
、writetimetable
、writematrix
、および writecell
ではなく、関数 actxserver
を使用して COM サーバーに直接アクセスします。たとえば、Technical Solution 1-QLD4K では actxserver
を使用して MATLAB® と Excel 間の接続を確立し、データをワークシートに書き込んでセルの色を指定します。
詳細は、COM 入門を参照してください。