Main Content

xlswrite

(非推奨) Microsoft Excel スプレッドシート ファイルへの書き込み

xlswrite は推奨されません。代わりに、writetablewritematrix または writecell を使用してください。詳細については、互換性についての考慮事項を参照してください。

説明

xlswrite(filename,A) は、行列 AMicrosoft® Excel® スプレッドシート ワークブック filename の最初のワークシートにセル A1 を始点として書き込みます。

xlswrite(filename,A,sheet) は、指定されたワークシートに書き込みます。

xlswrite(filename,A,xlRange) は、そのワークブックの最初のワークシートの、xlRange によって指定されている四角形の領域に書き込みます。Excel 範囲構文は、'A1:C3' のように使用してください。

xlswrite(filename,A,sheet,xlRange) は、指定されたワークシートの範囲に書き込みます。

status = xlswrite(___) は、前述の構文の任意の入力引数を使用して、書き込み操作のステータスを返します。操作が正常に完了した場合、ステータスは 1 です。その他の場合は、ステータスは 0 です。

さらに、[status,message] = xlswrite(___) は、書き込み操作によって生成された警告メッセージまたはエラー メッセージを構造体 message で返します。

すべて折りたたむ

7 要素ベクトルを Excel® ファイルに書き込みます。

filename = 'testdata.xlsx';
A = [12.7 5.02 -98 63.9 0 -.2 56];
xlswrite(filename,A)

テキストと数値が混在するデータを Excel® ファイルに書き込みます。書き込みの開始位置は Sheet2 のセル E1 です。

filename = 'testdata.xlsx';
A = {'Time','Temperature'; 12,98; 13,99; 14,97};
sheet = 2;
xlRange = 'E1';
xlswrite(filename,A,sheet,xlRange)

入力引数

すべて折りたたむ

ファイル名。文字ベクトルまたは string として指定します。

filename が存在しない場合、関数 xlswrite はファイルを作成します。その際、指定された拡張子に基づいて形式を判断します。Excel 97 ~ 2003 と互換性のあるファイルを作成するには、拡張子 .xls を指定します。ファイルを Excel 2007 形式で作成するには、拡張子 .xlsx.xlsb、または .xlsm を指定します。拡張子が指定されない場合、関数 xlswrite は既定の設定 .xls を使用します。

例: 'myFile.xlsx' または "myFile.xlsx"

例: 'C:\myFolder\myFile.xlsx'

例: 'myFile.csv'

データ型: char | string

入力行列。2 次元の数値、文字配列、または string 配列として、あるいは、各セルに単一要素が含まれる場合は cell 配列として指定します。

A がスカラー数値またはテキスト以外を含む cell 配列の場合、xlswrite は確認を行うことなくスプレッドシート内の対応するセルを空のままにします。

配列 A の最大サイズは、関連付けられた Excel のバージョンによって異なります。Excel の仕様と制限の詳細は、Excel ヘルプを参照してください。

例: [10,2,45;-32,478,50]

例: {92.0,'Yes',45.9,'No'}

例: "ABCDEF"

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell

ワークシート名。次のいずれかとして指定されます。

  • ワークシート名を含む文字ベクトルまたは string。名前にコロン (:) を含めることはできません。スプレッドシート ファイルでシート名を決めるには、関数 xlsfinfo を使用します。

  • ワークシート インデックスを示す正の整数。

sheet が存在しない場合は、xlswrite がワークシート コレクションの最後に新しいシートを追加します。sheet がワークシート数より大きいインデックスの場合は、sheet と同じワークシート数になるまで xlswrite が空のシートをワークブックに追加します。いずれの場合でも、xlswrite は新しいワークシートが追加されたことを示す警告を表示します。

データ型: char | string | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

四角形の範囲。文字ベクトルまたは string として指定します。

書き込む領域を定義する 1 組の対角を使用して xlRange を指定します。たとえば、'D2:H4' は、ワークシート上の 2 つの角 D2H4 の間にある 3 行 5 列の四角形領域を表します。xlRange 入力では大文字小文字は区別されず、Excel A1 参照スタイルが使用されます (Excel ヘルプを参照)。xlswrite は名前付範囲を認識しません。

  • sheet が指定されない場合、xlRange は対角と 1 つのコロンの両方を含まなければなりません。これは、セル数が 1 つの場合でも適用されます ('D2:D2' など)。それ以外の場合、関数 xlswrite は入力をワークシート名 ('D2' など) として解釈します。

  • sheet を指定した場合、xlRange は最初のセルのみを指定できます ('D2' など)。xlswrite は、このセルで始まる入力配列 A を書き込みます。

  • xlRange が入力配列 A のサイズより大きい場合、Excel ソフトウェアは残りの領域を #N/A で埋めます。xlRangeA のサイズより小さい場合、関数 xlswritexlRange に適合するサブセットのみをファイルに書き込みます。

データ型: char | string

出力引数

すべて折りたたむ

書き込み操作のステータス。1 (true) または 0 (false) として返されます。書き込み操作が正常に完了した場合、status1 です。それ以外の場合、status0 です。

書き込み操作中に生成されたエラーまたは警告。次の 2 つのフィールドを含む構造体配列として返されます。

message警告またはエラー メッセージのテキスト。
identifierメッセージ識別子。

制限

  • 関数 xlswrite で CSV ファイルに書き込む場合、異なるデータ型を含む cell 配列の書き込みはサポートされません。

  • コンピューターに Excel for Windows® がない場合、または MATLAB® Online™ を使用している場合、関数 xlswrite は以下を行います。

    • 配列 A をコンマ区切り値 (CSV) 形式でテキスト ファイルに書き込みます。A は数値行列でなければなりません。

    • 引数 sheet と引数 xlRange を無視します。

    この制限は (通常は Excel インストール環境の一部である) COM サーバーが使用できない場合にも適用されます。

ヒント

  • コンピューターに Microsoft Office 2003 があっても、ファイルを Excel 2007 形式で作成する場合は、Office 2007 互換機能パックをインストールしてください。

  • Excel および MATLAB は、日付をそれらの日付を表すテキスト ('10/31/96' など) またはシリアル日付値 (729329 など) として保存します。配列にシリアル日付値が含まれる場合は、datestr を使用してこれらの日付をテキスト表現に変換してから、xlswrite を呼び出します。

  • データを独自の書式 (フォントや色など) をもつ Excel ファイルに書き込むには、関数 xlswrite ではなく関数 actxserver を使用して Windows COM サーバーに直接アクセスします。たとえば、この MathWorks Support Answer では actxserver を使用して MATLAB と Excel との間に接続を確立し、データをワークシートに書き込み、セルの色を指定しています。

アルゴリズム

Excel は Inf の値を 65535 に変換します。MATLAB は NaN の値を空のセルに変換します。

バージョン履歴

R2006a より前に導入

すべて展開する