The way I have done this sort of things in the past was by using Automation.
This sort of programs:
oXL = new Excel.Application();
oXL.Visible = true;
oWB = (Excel._Workbook)(oXL.Workbooks.Add( Missing.Value ));
oSheet = (Excel._Worksheet)oWB.ActiveSheet;
oSheet.Cells[1, 1] = "First Name";
oSheet.Cells[1, 2] = "Last Name";
oSheet.Cells[1, 3] = "Full Name";
oSheet.Cells[1, 4] = "Salary";</pre>
This is quite easy to generate this sort of code with Word.
Generally I use record a macro and then I look at the code it generated code.
I assume you can perhaps do the same with EXcel.