MATLABでのExcelの読み書き

32 ビュー (過去 30 日間)
Hide
Hide 2022 年 1 月 18 日
コメント済み: Hide 2022 年 1 月 19 日
MATLAB 2019b
Guide or Appdesigner
Excelの読み書きのMathWorks推奨方法を教えて下さい。
xlswriteが非推奨ということなので、readcell, writecellなどを使いましたが、エラーが起こります。
(他のアプリケーションが開いているか権限が無いという内容です)
タスクマネージャーで事前にkillする、pauseを入れるなどしてみましたが、処理出来るとき・出来ないときがあります
(ex. system('taskkill /F /IM EXCEL.EXE'); pause(5))
コミュニティを見ると非常に多くの方が同じ様なエラーに苦しんでいる様ですが、このやり方なら完全解決というものが見当たりません。
Excelはビジネスシーンで必須のツールと言っても良いと思うので、そのコントロールが上手く行かなとMATLABをアプリケーション開発に使い続けることが難しくなってしまうので、是非MathWorksとしての、公式な、推奨方法をご教授頂きたいです。
よろしくお願いします。

回答 (2 件)

Hernia Baby
Hernia Baby 2022 年 1 月 18 日
個人的には データインポートツール がオススメです。
GUI操作で読み込み方を決められるうえ、操作を関数にすることもできます。
最近では Youtube でも紹介されてましたね。
出力についてですが、
エクセルのマクロと連携させて出力する場合は一度 tmp.xlsx を作って出力するのもありです。
データ別のインポート&エクスポートの対応表は こちら です。
  1 件のコメント
Hide
Hide 2022 年 1 月 19 日
早速のご回答ありがとうございます。
読み込みファイルが多数の場合、データインポートツールで生成した関数を使うようにしたいと思います。
Youtube動画のご紹介もありがとうございます。
エラーは主に出力時に発生しているのですが、マクロとの連携はしていないです。
フォーマットとなるExcelファイルをコピーしそれに対して書き込みをしています。
その場合でもtmp.xlsxを作ることが有効になるのか試してみます。
対応表もありがとうございます。

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


Toshinobu Shintai
Toshinobu Shintai 2022 年 1 月 18 日
コマンドで行いたい場合は「readmatrix」「writematrix」を推奨します。
  5 件のコメント
Hernia Baby
Hernia Baby 2022 年 1 月 19 日
エラー内容を見るにcell内でベクトル化してる部分がある気がします。 cell2matをかけるとそこでエラーが出るのではないでしょうか? cellfun関数でlengthをとり、1より大きいものがいたら、その子が悪さをしてます
Hide
Hide 2022 年 1 月 19 日
ありがとうございます。
はい。仰る通りです。cell2matでエラーが出ます。
対策分かりました。ありがとうございます。

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

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!