ExcelLibrary is open source project that provides native .NET features to comunicate with Microsoft Excel. It means that you will not need COM to create XLS spreadsheet anymore.
There is a way to embed any kind of image in a XLS spreadsheet also.
string file = "C:\\temp\\newdoc.xls";
Workbook workbook = new Workbook();
Worksheet worksheet = new Worksheet("First Sheet");
worksheet.Cells[0, 1] = new Cell((short)1);
worksheet.Cells[2, 0] = new Cell(2.8);
worksheet.Cells[3, 3] = new Cell((decimal)3.45);
worksheet.Cells[2, 2] = new Cell("Text string");
worksheet.Cells[2, 4] = new Cell("Second string");
worksheet.Cells[4, 0] = new Cell(32764.5, "#,##0.00");
worksheet.Cells[5, 1] = new Cell(DateTime.Now, @"YYYY\-MM\-DD");
worksheet.Cells.ColumnWidth[0, 1] = 3000;
Picture pic = new Picture();
pic.Image = ExcelLibrary.SpreadSheet.Image.FromFile("C:\\temp\\myLogo.png");
pic.TopLeftCorner = new CellAnchor(5, 1, 0, 0);
pic.BottomRightCorner = new CellAnchor(12, 5, 592, 243);
worksheet.AddPicture(pic);
workbook.Worksheets.Add(worksheet);
workbook.Save(file);
As you can see the code above fill some cells and insert a PNG image.
Remember to define those namespaces as well:
using ExcelLibrary.CompoundDocumentFormat;
using ExcelLibrary.BinaryDrawingFormat;
using ExcelLibrary.BinaryFileFormat;
using ExcelLibrary.SpreadSheet;
Seek for
http://code.google.com/p/excellibrary/[
^] to get further information.