MATLABでのExcelの読み書き

27 次查看(过去 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!