Function for faster data transfer Matlab <--> Excel
The idea came from a modified version of the xlswrite.m (the xlswrite1.m) posted by Matt Swartz in this fle exchange area on March 21, 2006. This version of xlsread.m was easily accomplished by removing all instances of server open/close functions within the original file, as it was done with xlswrite1.m. Should one use xlswrite1.m in conjunction with the xlsread.m, the data transfer process still takes too long, in addition to yielding undesirable results due to the persistent server open/close.
In order to use it, one must place the following code within the program, as given by Matt Swartz. It opens/closes the activex server, load an add-in if any (by default when Excel opens as a COM server it does NOT load add-ins), and checks to see if the file already exists:
Excel = actxserver ('Excel.Application');
Excel.Workbooks.Open('C:\YourAddInFolder\AddInNameWithExtension');
Excel.Workbooks.Item('AddInNameWithExtension').RunAutoMacros(1);
File='C:\YourFileFolder\FileName';
if ~exist(File,'file')
ExcelWorkbook = Excel.Workbooks.Add;
ExcelWorkbook.SaveAs(File,1);
ExcelWorkbook.Close(false);
end
Excel.Workbooks.Open(File);
Use xlsread1.m as needed. Then run the following code to close the activex server:
Excel.ActiveWorkbook.Save;
Excel.Quit
Excel.delete
clear Excel
The result was that processing speed of xlsread.m increased dramatically.
Zitieren als
Antonio (2024). Function for faster data transfer Matlab <--> Excel (https://www.mathworks.com/matlabcentral/fileexchange/22365-function-for-faster-data-transfer-matlab-excel), MATLAB Central File Exchange. Abgerufen.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
- MATLAB > Data Import and Analysis > Data Import and Export > Standard File Formats > Spreadsheets >
- MATLAB > External Language Interfaces > COM with MATLAB > Use COM Objects in MATLAB > ActiveX >
Tags
Quellenangaben
Inspiriert von: xlswrite1
Inspiriert: MKXLSFUNC: Easily integrate legacy spreadsheet tools into MATLAB
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.3.0.0 | Made changes in the file description. |
||
1.2.0.0 | Title updated to avoid possible overwriting of built-in xlsread.m. Thanks to Image Analyst's comment. |
||
1.1.0.0 | Two additional lines were included to allow add-ins to be installed since by default when Excel opens as a COM server it does NOT load add-ins. |
||
1.0.0.0 |