Bonjour,
J'ai vu dans la FAQ qu'on pouvait utiliser la fonction xlswrite1, à la place de xlswrite. Donc je l'ai téléchargé ... mais une fois que je l'ai, comment je l'utilise .... ?![]()
Bonjour,
J'ai vu dans la FAQ qu'on pouvait utiliser la fonction xlswrite1, à la place de xlswrite. Donc je l'ai téléchargé ... mais une fois que je l'ai, comment je l'utilise .... ?![]()
Pourquoi n'utilises-tu pas xlswrite ?
Où as-tu téléchargé le fichier xlswrite1 ? Qu'a-t-il en plus que xlswrite ?
Tobal
Il n'y a effectivement pas d'aide dans le fichier xlswrite1.m lui-même mais tu as l'aide décrite sur la page de téléchargement :
This code increases the speed of the xlswrite 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:\YourFileFolder\FileName';
if ~exist(File,'file')
ExcelWorkbook = Excel.workbooks.Add;
ExcelWorkbook.SaveAs(File,1);
ExcelWorkbook.Close(false);
end
invoke(Excel.Workbooks,'Open',File);
Then run the new xlswrite1 function as many times as needed or in a loop (for example xlswrite1(File,data,location). Then run the following code to close the activex server:
invoke(Excel.ActiveWorkbook,'Save');
Excel.Quit
Excel.delete
clear Excel
This works exactly like the original xlswrite function, only many many times faster.
XLSWRITE1 est disponible sur le FEX (voir la: Comment interfacer MATLAB avec Excel ?). Il est plus rapide que XLSWRITE lorsqu'on écrit plusieurs fois dans un même fichier XLS.
En effet, XLSWRITE ouvre et ferme le fichier à chaque écriture, pas XLSWRITE1
Maintenant, il est vrai que la première question n'est pas très claire... un peu plus d'informations serait bienvenu.
Ok, c'est bien utile. Merci.En effet, XLSWRITE ouvre et ferme le fichier à chaque écriture, pas XLSWRITE1
Tobal
Ma question est certainement bête, mais je vois pas comment faire pour "utiliser" la fonction xlswrite1 en fait. J'ai bien compris à quoi elle servait, et c'est d'ailleurs pour ça que je voudrais l'utiliser.
Une fois que j'ai téléchargé tout le code de la fonction, j'en fait quoi ? Où dois-je l'intégrer ? Dans mon programme (j'ai essayé mais ça n'a pas l'air de fonctionner), quelque part dans les fichiers de Matlab ... ??![]()
Tu l'enregistres sous le nom xlswrite1.m et tu l'utilises comme n'importe laquelle de tes fonctions.
Pour l'emplacement, soit ut ne comptes l'utiliser qu'avec une de tes fonctions et dans ce cas tu la mets dans le même répertoire.
Par contre si tu comptes t'en servir souvent, tu peux la mettre dans un répertoire dédié et rajouter ce répertoire au path MATLAB (voir doc path)
Partager