MATLAB を介さずに Excel シートに MAT-ファイルを直​接インポートするには​どのような方法があり​ますか?

13 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 22 Oct 2012
MATLAB を介さず、 Excel シートに直接 MAT-ファイルをインポートすることができるか教えて下さい。 MATLAB の LOAD 関数を使わない方法があれば教えてください。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 17 Feb 2021
Edited: MathWorks Support Team on 17 Feb 2021
次の方法の内の1つを使って、直接 Excel シートに MAT-ファイルをインポートすることができます。
1) オプション製品 MATLAB Compiler(旧MATLAB Builder EX) を、 MAT-ファイルインポートが実行できるアドインを作るために使うことができます。
2) オプション製品 Spreadsheet Link (for Microsoft Excel) (旧 Spreadsheet Link EX) を使い、 MAT-ファイルをインポートできます。ただし、こちらはバックグラウンドでの MATLAB の実行が要求されます。
3) MAT-ファイル API を使うことです。 MAT-ファイル API は、 Excel 環境で直接 MAT-ファイルをインポートするための VBA アプリケーションの中で API を呼んで使うライブラリのセットです。
MAT-ファイル API のさらなる情報は、以下のリンクから参照することができます。
上記方法を使うためには、その DLL 中の関数にアクセスする VBA コードを書く必要があります。以下の例 matcreat.c 中にあるような、 DLL にアクセスする もう一つの C/C++ のラッパー DLL を作成する必要があります。
ラッパー DLL は VBA からコールされる関数を備えるようにします。
フォーマットとしては、以下のコードのようになります。
Private Declare Function matOpen Lib "libmat.dll" (filename As String, mode As String) As Long
Private Declare Function matClose Lib "libmat.dll" (mfp As Long) As Integer
Private Declare Function matGetVariable Lib "libmat.dll" (mfp As Long, name As String) As Long
Sub test()
matHandle = matOpen("C:\LocalData\Requests\Excel_MAT\test.mat", "r")
Call matClose(matHandle)
End Sub
ここで上記において、 libmat.dll の代わりに自作のラッパー DLL を使います。

More Answers (0)

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!