Asp.net生成excel文档的有关问题

Asp.net生成excel文档的问题!
要生成一个如下这个截图样式的excel文档:
http://www.cnblogs.com/images/cnblogs_com/lovenets/95493/r_VTheme.1.jpg

要怎么弄,主要是格式的问题,像怎么合并单元格,怎么设背景色,还有这个文档

按项目类型(如:道路类,环保类,教育类等)分别存于不同的sheet文档中,要怎么才能建立多个sheet呢,哦,还有这个文档的标题栏是固定的,这个怎么弄

唉,唵们老大丢下一句 "你把这个功能实现 "就出去了,我也不知道从哪做起

手上只有这么点分了,等搞到分了再加!帮帮我,给个代码,提示什么的


------解决方案--------------------
Excel.Application excel;// = new Application();
int rowIndex = 2;
int colIndex = 0;

Excel._Workbook xBk;
Excel._Worksheet xSt;

excel = new Excel.ApplicationClass();

xBk = excel.Workbooks.Add(true);

xSt = (Excel._Worksheet)xBk.ActiveSheet;


//合并单元格
xSt.get_Range(excel.Cells[3, 3], excel.Cells[4, 4]).Merge(true);//

xSt.get_Range(excel.Cells[7, 7], excel.Cells[8, 8]).Interior.ColorIndex = 20;//设置背景色为浅黄色,共计有56种

//标题栏固定即为冻结窗口,一下代码实现
xSt.get_Range( "B2 ", "B2 ").Select();
excel.ActiveWindow.FreezePanes = true;
------解决方案--------------------
//操作完后杀进程
System.Diagnostics.Process[] processes;
processes = System.Diagnostics.Process.GetProcessesByName( "EXCEL ");
DateTime startTime;
if (processes != null && processes.Length > 0)
{
foreach (System.Diagnostics.Process p in processes)
{
p.Kill();

}
}