主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

xlsread

(非推奨)微软Excelスプレッドシートファイルを読み取る

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

説明

全国矿工工会= xlsread (文件名は,文件名という名前の微软®Excel®スプレッドシートワークブックにある最初のワークシートを読み取り,数値データを行列に返します。

全国矿工工会= xlsread (文件名は,指定されたワークシートを読み取ります。

全国矿工工会= xlsread (文件名xlRangeは,ワークブックの最初のワークシートの指定された範囲から読み取ります。Excel範囲構文は,“A1: C3”のように使用してください。

全国矿工工会= xlsread (文件名xlRangeは,指定されているワークシートと範囲から読み取ります。

全国矿工工会= xlsread (文件名xlRange“基本”は,スプレッドシートからのデータを基本インポートモードで読み取ります。コンピューターにExcel为Windows®がない場合,またはMATLAB®在线™を使用している場合,xlsreadは自動的に基本インポートモードで動作します。このモードでは、XLS、XLSX, XLSM, XLTXおよびXLTMのファイルがサポートされます。

指定しない引数がある場合は,num = xlsread(文件名,“,”,“基本”)のようにプレースホルダーとして空の文字ベクトル''を使用します。

さらに,全国矿工工会三种) = xlsread (___は,前述の構文の任意の入力引数を使用して,细胞配列三种にテキストフィールドを返し,细胞配列に数値とテキストの両方のデータを返します。

___= xlsread (文件名, 1)は,データを対話的に選択するためのExcelウィンドウを開きます。ワークシートを選択し、マウスを目的の範囲までドラッグ アンド ドロップし、(好的)をクリックします。この構文は,Microsoft ExcelソフトウェアがあるWindowsコンピューターでのみサポートされます。

全国矿工工会三种自定义) = xlsread (文件名xlRange”,processFcnは,processFcnが関数ハンドルの場合,スプレッドシートからデータを読み取り,そのデータに対してprocessFcnを呼び出し,最終結果を数値データとして配列全国矿工工会に返します。関数xlsreadは、细胞配列三种にテキストフィールド,细胞配列に数値とテキスト両方のデータ,配列自定义processFcnからの2番目の出力をそれぞれ返します。関数xlsreadは,スプレッドシートに格納されているデータを変更しません。この構文は,ExcelソフトウェアがあるWindowsコンピューターでのみサポートされます。

すべて折りたたむ

myExample.xlsxという名前のExcelファイルを作成します。

值= {1,2,3;4、5、“x”;7 8 9};头= {“第一”“第二”“第三”};xlswrite (“myExample.xlsx”,(头;值);

myExample.xlsxSheet1には以下が格納されます。

第一个,第二个,第三个1 2 3 4 5 x 7 8 9

最初のワークシートから数値データを読み取ります。

文件名=“myExample.xlsx”;一个= xlsread(文件名)
A = 1 2 3 4 5 NaN 7 8 9

前出の例のExcelファイルから特定範囲のデータを読み取ります。

文件名=“myExample.xlsx”;表= 1;xlRange =“B2: C3”;xlRange subsetA = xlsread(文件名、表)
subsetA = 2 3 5 NaN

最初の例のExcelファイルから2列目を読み取ります。

文件名=“myExample.xlsx”;columnB = xlsread(文件名,B: B的
columnB = 2 8

パフォーマンスを向上させるには,“B1: B3”のように範囲に行番号を含めます。

最初の例のExcelファイルから,数値データ,テキストデータおよび数値とテキストを組み合わせたデータを要求します。

(num, txt,生)= xlsread (“myExample.xlsx”
num = 1 2 3 4 5南7 8 9 txt = '第一次'第二”的第三位 ' '' '' '' '' '' ' x '生= '第一”“二”“三”[1][2][3][4][5]“x”[7][8][9]

エディターで,ワークシートからのデータを処理する関数を作成します。この場合,範囲[0.2, 0.8]の外の値を0.2または0.8に設定します。

函数[数据]= setMinMax(数据)minval = 0.2;maxval = 0.8;k = 1:数据。Count v = Data.Value{k};如果v > maxval数据。{k值}= maxval;elseifv < minval数据。{k值}= minval;结束结束

コマンドウィンドウで,myExample.xlsxに乱数データを追加します。

一个=兰德(5);xlswrite (“myExample.xlsx”一个,“MyData”

MyDataというワークシートには0から1の範囲の値が含まれます。

ワークシートからデータを読み取り,範囲[0.2, 0.8]の外にある値をリセットします。シート名を指定しますが,xlRange入力と“基本”入力のプレースホルダーとして''を使用します。

修剪= xlsread (“myExample.xlsx”“MyData”'''', @setMinMax);

ワークシート上で関数を実行し,カスタムインデックス出力を表示します。

エディターで,変更された要素(カスタム出力)のインデックスを返すため,前出の例で使用された関数setMinMaxを修正します。

函数[Data,indices] = setMinMax(Data) minval = 0.2;maxval = 0.8;指数= [];k = 1:数据。Count v = Data.Value{k};如果v > maxval数据。{k值}= maxval;Indices = [Indices k];elseifv < minval数据。{k值}= minval;Indices = [Indices k];结束结束

ワークシートMyDataからデータを読み取り,カスタムインデックス出力idxを要求します。

[修剪,txt,生,idx] = xlsread (“myExample.xlsx”...“MyData”'''', @setMinMax);

入力引数

すべて折りたたむ

ファイル名。文字ベクトルまたは字符串として指定します。拡張子が含まれていない場合,xlsreadは指定された名前とサポートするExcel拡張子によってファイルを検索します。xlsreadは,Windows版Excelで現在開いているファイルに保存されたデータを読み取ることができます。

例:“myFile.xlsx”または“myFile.xlsx”

データ型:字符|字符串

ワークシート。以下のいずれかの値として指定します。

  • ワークシート名を含む文字ベクトルまたは字符串。名前にコロン()を含めることはできません。スプレッドシートファイルでシート名を決めるには、関数xlsfinfoを使用します。基本モードのXLSファイルの場合,は大文字小文字を区別します。

  • ワークシートインデックスを示す正の整数。このオプションは基本モードのXLSファイルではサポートされません。

データ型:字符|字符串|||int8|int16|int32|int64|uint8|uint16|uint32|uint64

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

読み取る範囲を定義する2つの対角を使用してxlRangeを指定します。たとえば,“D2: H4”は,ワークシート上の2つの角D2H4の間にある3行5列の四角形領域を表します。xlRange入力では大文字小文字は区別されず,Excel A1参照スタイル(Excelヘルプを参照)が使用されます。

XLSファイルを基本モードで読み取る際は,範囲選択がサポートされません。この場合はxlRangeの代わりに''を使用してください。

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

を指定する場合,xlRangeは次のようになります。

  • 1つのセルを記述するために1つのコロンと対角を含む必要はありません。

  • Excelファイルで定義された名前付き範囲を参照します(Excelのヘルプを参照)。

指定したxlRangeがマージされたセルにオーバーラップする場合:

  • Excel搭載のWindowsコンピューターでは,マージされたすべてのセルが含まれるようxlsreadによって範囲が拡張されます。

  • Windows版Excelが搭載されていないコンピューターでは,xlsreadは指定された範囲のデータのみを返します。マージされたセルについては,空またはの値を返します。

データ型:字符|字符串

基本モードでの読み取り要求フラグ。文字ベクトルまたは字符串の“基本”として指定します。

基本モードは,Windows版Excelがないコンピューターの既定の設定です。基本モードでは,xlsread

  • XLS, XLSX、XLSM XLTXおよびXLTMファイルのみを読み取ります。

  • XLSファイルを読み取るときはxlRangeの入力はサポートされません。この場合はxlRangeの代わりに''を使用してください。

  • 関数ハンドル入力をサポートしません。

  • 日付をExcelのシリアル日付値としてインポートします。Excelシリアル日付値では MATLAB 日付値とは異なる参照日が使用されます。

データ型:字符|字符串

カスタム関数のハンドル。この引数はExcelがあるWindowsコンピューターでのみサポートされます。関数xlsreadはスプレッドシートから読み取り,そのデータのコピーに対して関数を実行し,最終結果を返します。関数xlsreadはスプレッドシートに保存されたデータを書き換えません。

関数xlsreadはカスタム関数を呼び出すと,データにアクセスできるようにするため,Excelアプリケーションからの範囲のインターフェイスを渡します。カスタム関数は,このインターフェイスを入力と出力の両方を兼ね備えた1つの引数としてもつ必要があります(ワークシート上での関数の実行を参照してください)。

例:@myFunction

出力引数

すべて折りたたむ

数値データ。値の行列として返されます。配列にはヘッダー行からの情報,あるいは数値以外のデータを格納した外側の行または列からの情報は含まれません。内部スプレッドシートの行と列のテキストデータは,出的力全国矿工工会内ではとして表現されます。

テキストデータ。细胞配列として返されます。内部スプレッドシートの行と列の数値は、三种内では空の文字ベクトル''として表現されます。

基本インポートモードのXLSファイルでは,出的力三种はスプレッドシート内のテキストデータに先行する数値データ先頭列の代わりに空の文字ベクトル''を含みます。これ以外のすべての場合,三种にはこれらの追加の列は含まれません。

基本モードのXLSファイルを除き,未定義の値(“# N / A”など)は出力三种“# N / A”として表示されます。

ワークシートからの数値データとテキストデータ。细胞配列として返されます。

Windows版Excel搭載のコンピューターでは,未定義の値(“# N / A”など)が“ActiveX VT_ERROR:”として出力に表示されます。他のコンピューターまたはMATLAB在线では、XLSX XLSM、XLTXおよびXLTMファイルの未定義の値が“# N / A”として表示されます。

processFcnに対応する関数の2番目の出力。自定义の値とデータ型は関数によって決まります。

制限

  • xlsreadは7ビットASCII文字のみを読み取ります。

  • xlsreadは不連続の範囲はサポートしていません。

  • コンピューターにExcel为Windowsがない場合,またはMATLAB在线を使用している場合,xlsreadは自動的に基本インポートモードで動作します。

  • Linux®プラットフォームとMacプラットフォームでのxlsreadは,関数writetableで書き込まれたスプレッドシートを開くことができません。

アルゴリズム

  • xlsreadは,基本モードでインポートする場合を除いて,書式設定された日付を表すテキスト(“10/31/96”など)をインポートします。

互換性についての考慮事項

すべて展開する

R2019a以降は非推奨

R2006aより前に導入