How to delete default excel sheets when using writetable function (mac)?

8 visualizzazioni (ultimi 30 giorni)
When using the writetable function to add several different sheets, excel generates default (blank) excel sheets at the beginning of the document. I currently am working off a mac computer and thus cannot use the actxserver solutions described in other posts.
writetable(T,filename,'sheet','sheet_name');
  1 Commento
Veronique Lago
Veronique Lago il 11 Set 2019
I found a way around it. Create a template Excel sheet with the sheets you want and the name you want, but empty sheets. In your code, before using writetable, use copyfile to copy your template with the name of the file you want to create. Then, when you use writetable, it opens the sheets with sheets with the name you give from this template and fills it in.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 14 Mag 2019
Mathworks does not offer any way to do this.
This question was recently explored in the context of someone who was providing sheet names, and was ending up with 3 extra sheets with default names. Someone (dbp I think it was) indicated that when Excel is asked to create a workbook, that it automatically adds the first sheet, and so for compatibility with Excel the first useless sheet is generated. We did not, however, see any good reason for the code to automatically generate sheet2 and sheet3.

Più risposte (1)

Sean de Wolski
Sean de Wolski il 16 Set 2019
Starting in R2019b, specifying the sheet will cause "Sheet"+(1:3) to not be created. This is a new feature of 19b.
writetable(t, 'foo.xlsx', 'Sheet', 'T')
Will only have a sheet, "T".
  2 Commenti
Lucie S.
Lucie S. il 25 Mar 2020
Modificato: Lucie S. il 25 Mar 2020
As I see there are some changes in R2019b with the Writetable fonction, I take the opurtunity to ask you a question. I have an issue starting with that new Matlab version. I use writetable to copy a table in a template excel file which has different background colors. Before R2019b, I was keeping colors in the template file after using the function. Now I get some white background columns in my template file after using the function. Any idea how to avoid this? I have different types of data that I can't change in my table. The cell data type might be the one used when I get those white background (I will have to check in detail, this is a very complex program).

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by