xlswrite2007
%This code increases the speed of the xlswrite and works with Excel 2007
%function when used in loops or multiple times. The problem with the original function
%is that it opens and closes the Excel server every time the function is used.
%To increase the speed I have just edited the original function by removing the
%server open and close function from the xlswrite function and moved them outside
%of the function. To use this first run the following code which opens the activex
%server and checks to see if the file already exists (creates if it doesnt):
% Excel = actxserver('Excel.Application');
% File = 'C:\Folder\File'; %Make sure you put the whole path
% if ~exist(File,'file')
% ExcelWorkbook = Excel.workbooks.Add;
% ExcelWorkbook.SaveAs(File)
% ExcelWorkbook.Close(false);
% end
% ExcelWorkbook = Excel.workbooks.Open(File);
%Then run the new xlswrite2007 function as many times as needed
%or in a loop (for example xlswrite2007(File,data,location).
%Then run the following code to close the activex server:
% ExcelWorkbook.Save
% ExcelWorkbook.Close(false) % Close Excel workbook.
% Excel.Quit;
% delete(Excel);
% This is a modern version of xlswrite1 posted by Matt Swartz in 2006, and
% as such most of these comments are copied from his original post
Cite As
Travis (2024). xlswrite2007 (https://www.mathworks.com/matlabcentral/fileexchange/25288-xlswrite2007), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Acknowledgements
Inspired by: xlswrite1
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.0.0.0 |