フィルターのクリア

xlsread実行時はエクセルは必要ですか?

17 ビュー (過去 30 日間)
Sato
Sato 2018 年 11 月 27 日
コメント済み: Kazuya 2018 年 11 月 30 日
複数のシートを持ったエクセルファイルの特定のシート名のシートのデータを読むために、xlsread関数を持ちいています。
エクセルがインストールされているパソコンで実行していて、問題はなかったのですが、エクセルの入ってないパソコンで
実行すると、エクセルのシートがないというようなエラーが出ます。
xlsread関数を実行するときは、エクセルも必要ということでしょうか?

採用された回答

Kazuya
Kazuya 2018 年 11 月 27 日
編集済み: Kazuya 2018 年 11 月 27 日
Excelがないと一部動かない機能があるみたいです。
に説明がちょこっとありまして、'basic' モードで動くのであれば、Excelの有無にかかわらず同じ処理になるのかなと。
****引用****
num = xlsread(filename,sheet,xlRange,'basic') は、スプレッドシートからのデータを basic インポート モードで読み取ります。コンピューターに Windows® 版 Excel がない場合、xlsread は自動的に basic インポート モードで動作します。このモードでは XLS、XLSX、XLSM、XLTX および XLTM ファイルがサポートされます。
**********
sheet 名を指定していますか?Excelファイルが、XLSかXLSXかで違いがありそうです。
****引用****
  • ワークシート名を含む文字ベクトルまたは string。名前にコロン (:) を含めることはできません。スプレッドシート ファイルでシート名を決めるには、関数xlsfinfo を使用します。basic モードの XLS ファイルの場合、sheet は大文字小文字を区別します。
  • ワークシート インデックスを示す正の整数。basic モードの XLS ファイルではサポートされません。
**********

その他の回答 (1 件)

Sato
Sato 2018 年 11 月 29 日
Kazuya 様
ご回答、ありがとうございます。
ワークシート使ってます...
WindowsでもLinuxでも動作するように作成する必要があるので、xlsread()を使ってはダメそうですね。とりあえずは、csvに変換して読み込むようにするしかなさそうですね。
  1 件のコメント
Kazuya
Kazuya 2018 年 11 月 30 日
xlsread が使えないわけではなく、一部の機能が制限されるだけなので、
の構文で機能するように実装すればOKですよ。
あとは、readtable 関数もお勧め。こちらの方が読み取りが早いとかなんとか。

サインインしてコメントする。

製品


リリース

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!