- In the Excel file/sheet you are writing to, go to Review>>Protect Sheet. Make sure that 'Format Columns' and 'Format Rows' are unchecked, then press OK
- When using writetable with the protected sheet, use the Name/Value pair ('UseExcel', true)
writetable resizing column widths
16 views (last 30 days)
Show older comments
I am using the following:
writetable(Variable ,'Location', 'Sheet', 'Sheet Name', 'Range', Range, 'WriteVariableNames', false)
It works correctly in writing although it resizes the columns in excel. It is writing to the end of an existing table. Is there any way to avoid this?
1 Comment
Danny Smith
on 15 Nov 2022
I was able to avoid auto-resizing of Excel columns when using writetable via a 2-step process:
Accepted Answer
Calvin Ebert
on 31 Jul 2019
1 Comment
Alex Calder
on 29 Oct 2020
Can you please provide an example, or link to where one is given? Your comment doesn't make it clear exactly what info you are wrting where and in what order. Thanks.
More Answers (1)
Walter Roberson
on 8 May 2019
No, there is no way to avoid it with writetable(). writetable() does not attempt to preserve formatting or templates or graphics or formulas written into the range.
To have any of those preserved, you need to use actxserver() or a .NET interface to talk to Excel to tell it what needs to be done.
0 Comments
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!