Il file .xlsx è in realtà solo un archivio di compressione (file zip), quindi se si desidera veramente aggiungere un file nascosto, è sufficiente aggiungere un file .xml all'archivio. In quel modo Excel non avrebbe nemmeno saputo che era lì.
Rinominare un file .xlsx in .zip, estrarlo, aggiungere il file, quindi selezionare i contenuti del file .zip e archiviarli nuovamente. Rinomina in .xlsx e avrai il tuo file .xml nascosto lì dentro. (NOTA: Non zip nella cartella di livello superiore, solo il contenuto)
È possibile farlo in C# utilizzando una libreria zip come SharpZipLib: http://www.sharpdevelop.net/OpenSource/SharpZipLib/
UPDATE: Questo file "nascosti" sarà non essere conservato se l'utente salva il file da Excel. L'idea migliore che posso venire con questo scenario è di invocare il codice come parte di una macro VBA incorporata nel foglio.
Questo link contiene informazioni utili sul manipolare le parti di un pacchetto Office: http://msdn.microsoft.com/en-us/library/aa982683.aspx
Il core.xml e app.xml (nella cartella docProps) contengono le proprietà del documento e potrebbe essere una buona posizione per memorizzare supplementari informazioni xml.
fonte
2010-12-14 19:14:54
dovrei utilizzare un oggetto OLE incorporato? O una parte personalizzata? – user542393
Qual è lo scopo per la memorizzazione di questo xml nel file? –