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.
Cite As
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. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- 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
Acknowledgements
Inspired by: xlswrite1
Inspired: 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!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
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 |