На чем пишете? В Delphi (в 7 были, в современных версиях думаю тож не исчезли, может только называются по другому) есть компоненты "Servers" для работы со всеми приложениями M$-офиса через OLE. Я некоторое время назад перешел на C#. В M$-VS 2005 и 2008 есть VSTO (visual studio tools for office). У меня в одном проекте в сотаве есть Excel-ий документ, который программно открывается, наполняется данными и сохраняется. Вот примерно так:шаблон документа Word Excel
ApplicationClass excelApplication = new ApplicationClass();
Workbook excelWorkbook = excelApplication.Workbooks.Open(System.Windows.Forms.Application.StartupPath + "\\" + "_d.xls", XlUpdateLinks.xlUpdateLinksNever, false, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, false, true, XlCorruptLoad.xlRepairFile);
Worksheet excelWorksheet = (Worksheet)excelWorkbook.Worksheets.get_Item(1);
Range r = (Range)excelWorksheet.Cells.get_Item(2, 3);
r.Value2 = string.Format("Дата {0:d}", DateTime.Now);
r = null;
// Здесь у меня организуется цикл в теле которого вызываются методы других классов для заполнения данными листа
excelWorkbook.SaveAs("d1.xls", XlFileFormat.xlWorkbookNormal, null, null, null, null, XlSaveAsAccessMode.xlExclusive, null, null, null, null, null);
excelApplication.Quit();