Add a hyperlink in excell through matlab

28 次查看(过去 30 天)
Dear Matlabians!!!
I have build a script that adds a lot of data from multiple excels to one general excel. There is a huge amount of data that are being organize thus it is very important for me and the other users of the final excel to know from which files the data came from. Thus I have include the name of the initial excels on my final excel.
Is it possible now to put through matlab a hyperlink in my final excel that will link each name of the initial excels to there files in there separated folders? I don't want to do that manually as it will take years. To be able to extract the data in the first place I have to include there paths so I have there names and there path in the hard-drive.
i found a line of code that could do that but i really don't get how it could be of use. http://www.mathworks.com/matlabcentral/newsreader/view_thread/244494
Add = handle Add(handle, handle, string, Variant(Optional))
Thank you very much Alex
  1 个评论
Alexandros
Alexandros 2011-12-1
I did something that could be of help
I did a list though matlab to write the path of the each file in on column in another sheet
Is it more easy now to connect the two file names with the list of the path as hyperlinks ?
Do i need VBA?

请先登录,再进行评论。

采纳的回答

Alexandros
Alexandros 2011-12-1
I think i found a way a little more easy. Because there is already a function in excel for hyperlink, I did
first: a list with all the names of the file and there path through matlab to be paste in excell
second: then by using strcat i was able to put in a loop the cells of the list and do a =hyperlink(cell1, cell2) string in matlab to be paste where i want the hyperlinks to be in excel and it worked
h = ['=Hyperlink(']
h1 = cell1number e.g A13
h2 = ','
h3 = cell2number e.g B13
h4 = ')'
strcat(h,h1,h2,h3,h4)
makes '=Hyperlink(A13, B13)'
AMAZING
  3 个评论
James Daugherty
James Daugherty 2022-10-10
I did this, but in excel it first just shows the whole think as text in the cells. I have to go through the spreadsheet and click on each cell then press enter to have excel make it a hyperlink. What am I doing wrong?
Daniel
Daniel 2024-5-9
Was just trying to do the same thing and discovered that setting the 'useExcel' flag to true fixes it!
writetable(T,'testExcelFromMatlab.xlsx','UseExcel',true);

请先登录,再进行评论。

更多回答(1 个)

Kaustubha Govind
Kaustubha Govind 2011-12-1
I modified an example in the documentation to add one link to a specific cell (Sheet1, Cell I2) in an Excel file:
exl = actxserver('excel.application');
exlWkbk = exl.Workbooks;
exlFile = exlWkbk.Open([docroot '/techdoc/matlab_external/examples/input_resp_data.xls']);
%exl.Visible=1; %This make the Excel COM server visible
exlSheet1 = exlFile.Sheets.Item('Sheet1');
rngObj = exlSheet1.Range('I2'); %we will add the link to this cell
exlSheet1.HyperLinks.Add(rngObj, 'http://mathworks.com');
exlFile.Save();
exlFile.Close();
exl.Quit;
exl.delete;
You should be able to put a loop around the call to exlSheet1.HyperLinks.Add to achieve what you need.

类别

Help CenterFile Exchange 中查找有关 Data Import from MATLAB 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by