ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Excel スプレッドシートへのエクスポート

表形式データのスプレッドシート ファイルへの書き込み

この例では、関数 writetable を使用して、ワークスペース内のテーブルを Microsoft® Excel® のスプレッドシート ファイルにエクスポートする方法を説明します。ワークスペースのデータは、ファイル内の任意のワークシートに、そしてそのワークシート内の任意の位置にエクスポートできます。既定では、writetable はファイルの第 1 ワークシートに、セル A1 からテーブル データを書き込みます。

列方向データをもつサンプル テーブルを作成し、最初の 5 行を表示します。

load patients.mat
T = table(LastName,Age,Weight,Smoker);
T(1:5,:)
ans = 

     LastName     Age    Weight    Smoker
    __________    ___    ______    ______

    'Smith'       38     176       true  
    'Johnson'     43     163       false 
    'Williams'    38     131       false 
    'Jones'       40     133       false 
    'Brown'       49     119       false 

テーブル T を、新規のスプレッドシート ファイル patientdata.xlsx の最初のシートでセル D1 から書き込みます。Range の名前と値のペアの引数を使用して、書き込むワークシートの部分を指定します。

filename = 'patientdata.xlsx';
writetable(T,filename,'Sheet',1,'Range','D1')

既定では、writetable は、テーブル変数の名前をスプレッドシート ファイルの列見出しとして書き込みます。

テーブル T をファイルの 2 番目のシートに書き込みます。ただし、テーブル変数の名前は書き込まないでください。

writetable(T,filename,'Sheet',2,'WriteVariableNames',false)

スプレッドシート ファイルへの数値データとテキスト データの書き込み

この例では、関数 xlswrite を使用して、数値配列とセル配列を Microsoft Excel のスプレッドシート ファイルにエクスポートする方法を説明します。個々の数値およびテキストのワークスペース変数がもつデータは、ファイル内の任意のワークシートに、そしてそのワークシート内の任意の位置にエクスポートできます。既定の設定では、xlswrite によって、ファイル内の最初のワークシートにセル A1 を始点として行列のデータが書き込まれます。

数値データをもつサンプル配列 A と、テキスト データと数値データをもつサンプル セル配列 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';
xlswrite(filename,A,1,'E1:I5')

ファイルのワークシート Temperatures のセル B2 から始まる矩形領域に、セル配列 C を書き込みます。シートを指定するときに、最初のセルのみを使用して範囲を指定できます。

xlswrite(filename,C,'Temperatures','B2');

xlswrite は警告を表示します。これは、ワークシート Temperatures がファイル内に存在しないからです。

新規ワークシート追加時の警告の無効化

書き込み先のワークシートがファイルに存在しない場合、関数 writetable と関数 xlswrite は次の警告を表示します。

Warning: Added specified worksheet.

この警告は次のコマンドで無効化できます。

warning('off','MATLAB:xlswrite:AddSheet')

サポートされている Excel のファイル形式

関数 writetable と関数 xlswrite は、使用している Windows® 版Excel のバージョンで認識される任意のファイル形式に書き込むことができます。Excel 2003 がインストールされており、2007 形式 (XLSX、XLSB、XLSM など) で書き込む場合は、Office 2007 互換機能パックをインストールしなければなりません。

    メモ:   Windows 版 Excel がインストールされていないシステムを使用している場合、writetablexlswrite はコンマ区切り値 (CSV) ファイルにデータを書き込みます。

Excel ファイル内のセルの書式設定

Windows システムの Excel ファイルにカスタム書式 (フォントや色など) を使用してデータを書き込むには、関数 writetable や関数 xlswrite ではなく、関数 actxserver を使用して COM サーバーに直接アクセスします。たとえば、Technical Solution 1-QLD4K では actxserver を使用して MATLAB® と Excel との間の接続を確立し、データをワークシートに書き込んでセルの色を指定します。

詳細は、「COM のご利用の前に」を参照してください。

参考

|

詳細

この情報は役に立ちましたか?