I have to fill a excel file in my app, open, write and close.
The problem is that file contains a lot of format and macros (is a company template) and I realized that will be extremely hard to re-generate from C# and most important, to maintain.
So I opened excel template with a hexeditor, took all bytes as array like this
namespace myapp
{
public static class ReviewTemplate // exported with HXD
{
public static string name = "AS-04522-EN";
public static byte[] rawData = {
0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x00, 0x03, 0x00, 0xFE, 0xFF, 0x09, 0x00, 0x06, 0x00, 0x00, 0x00,
...
...
...
}
}
Then, generate from C# like this
File.WriteAllBytes(ReviewTemplate.name + DateTime.Now.ToString("_dd_MM_yyyy_HH_mm_ss") + ".xls", ReviewTemplate.rawData);
It works wonderful except that all array file (*.cs) has 15MB and when I double click any function name in C# for refactor or something, the .NET hangs several minutes.
So the big question is, how can I pre-compile somehow this array.cs file so .NET use as it is? Perhaps put all in some dll? In C I's use the *.obj file.
EDITED
To be more clear, after I generate the required excel (that have 2.5MB anyhow) i use interop to open, write then close.
Is it possible to embed all this data and write somehow in memory, then save finally as excel file on disk?
Thanks,