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

13 visualizaciones (últimos 30 días)
MathWorks Support Team
MathWorks Support Team el 22 de Oct. de 2012
Editada: MathWorks Support Team el 17 de Feb. de 2021
MATLAB を介さず、 Excel シートに直接 MAT-ファイルをインポートすることができるか教えて下さい。 MATLAB の LOAD 関数を使わない方法があれば教えてください。

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 17 de Feb. de 2021
Editada: MathWorks Support Team el 17 de Feb. de 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 を使います。

Más respuestas (0)

Categorías

Más información sobre MATLAB Compiler en Help Center y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

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

Start Hunting!