Yes, you could store string and XML in Excel cells. For binary you'd be better off not saving it inside Excel, but if you had to then OLE (object linking and embedding) could
be an option. You could do so by saving the binary as a file outside of Excel and then inserting it as a OLE object:
Dim mySht As Worksheet
Dim oleFileName as String
oleFile = "MyXmlDoc.xml"
Set mySht = ActiveWorkbook.ActiveSheet
mySht.Shapes.AddOLEObject Filename:=Environ$("Appdata") & _
"\MyFolder\" & oleFile, _
Link:=False, DisplayAsIcon:=True
It worked fine for us for certain types of common filetype. But we never did it for raw binary data. Usually we put a Word Document or PDF in the spreadsheet. You also run the risk of possibly corrupting the workbook or losing the binary data. In our case the OLE object would be clicked on by a user that had Wordperfect instead of Word or they ran Linux / Mac and the embedded document wouldn't open.
It does make the Excel File get rather large with every embedded object you add. It's an old technology with its quirks.