MATLABでのExcelの読み書き

조회 수: 25 (최근 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!