MATLAB Answers

Julian
2

How to paste nicely into Excel from MATLAB variable editor?

Asked by Julian
on 25 Feb 2015
Latest activity Commented on by Jakob Nadj on 2 May 2019
One can readily paste data from Excel into a MATLAB cell array in the variable editor using Paste Excel Data (Ctrl-Shift-V), but how exactly does one reverse this operation?
I find cells that contain [] become strings in Excel, where I expect blank cells, and strings get unwanted quotes at the start and end.
The net result of this is if you copy and paste some cells in Excel comprising some text, some numeric and some blanks into a MATLAB cell array - it looks fine in MATLAB - but when you copy back to Excel you don't have what you started out with.
Easy copy / paste between Excel and MATLAB should be a breeze in 2015, shouldn't it? What am I doing wrong? Perhaps there is or needs to be a "Copy Excel Data" function to match "Paste Excel Data" (although it is nicer to just use standard Ctrl+C, Ctrl+V)?
Thanks for reading this.

  0 Comments

Sign in to comment.

Tags

Products

7 Answers

Answer by Julian
on 9 Mar 2015
 Accepted Answer

It is not directly possible. From Mathworks:
I understand that you would like to paste cells with strings from the MATLAB Variables editor to Microsoft Excel, but noted some inconsistencies to-from copy/paste operations. Specifically, you found that copying from MATLAB to Excel in this way introduces single quotation marks and empty square brackets depending on whether or not the cell element has a string or is an empty matrix.
Unfortunately, while the MATLAB Variables editor has a context menu item to paste values from Excel, I do not think there is an immediate option in Microsoft Excel to paste from MATLAB. I tried using Excel's Text Import Wizard to perform this paste operation into Excel, but unfortunately none of the options I explored worked.
That said, I can think of two possible workarounds to working between MATLAB and Excel without the use of "xlsread/xlswrite" or "readtable/writetable": 1. Copy the cell array from the MATLAB Variables editor, and then paste to Excel as you have done before. Then, from Excel, press Ctrl+F to Find/Replace all single quotes and square brackets [] with empty strings. 2. Consider using MathWork's Spreadsheet Link EX to use MATLAB from Microsoft Excel. The following link provides a high-level overview of Spreadsheet Link EX and its available features: http://www.mathworks.com/products/excellink/

  0 Comments

Sign in to comment.


Answer by P D McClanahan on 16 Nov 2017

One easy workaround is to: 1) Paste into Google sheets, which seems to work fine 2) Then copy from Google sheets into Excel

  0 Comments

Sign in to comment.


Answer by Jg
on 21 Jan 2016

Julian,
I'm no Matlab guru so I like simple solutions like you're looking for.
I've had luck with Ctrl+C to copy from the variable editor, then paste into Microsoft Word. Then copy and paste from word to Excel.
May work for you too.

  2 Comments

Thanks for the tip Jg.
Sadly it didn't work just now in my current (outdated) environment, but I shall try again later today when I have an up-to-date version of everything (Windows, Excel & MATLAB!)

Sign in to comment.


Answer by Daniel
on 25 Feb 2015

I don't know much about converting back Excel, but you might want to look into xlswrite. That command may do the trick for you.

  1 Comment

Thanks for answering, Daniel, but not what I was looking for. I know about xlswrite, but that is a programmatic solution and (I think) doesn't work for spread-sheets already open in Excel. I just want to know how to Ctrl+C Ctrl+V into an open Excel, which should be very simple surely?

Sign in to comment.


Answer by Sascha Schlechtweg on 15 May 2017

Using Ctrl+C and Ctrl + V in OpenOffice worked perfectly fine for me. Maybe it helps.
Best regards

  0 Comments

Sign in to comment.


Answer by Julian
on 15 May 2017

Thanks for your point. I don't have OpenOffice but I confirm that behaviour I first complained about still applies in MATLAB R2017a.

  0 Comments

Sign in to comment.


Answer by Zhe
on 5 Jul 2017

Copy and paste to Google Sheets then to Excel

  0 Comments

Sign in to comment.