页面上有报表的标题、已赋值的Label控件、datagrid控件,现在已经实现了datagrid控件内容导入Excel,用的是“datagrid.RenderControl(hw);”方法,现在想将标题和Label控件内容写入excel中,并且要写在datagrid上面的一行中,用Label.RenderControl(hw);可以实现插入内容,但总是在A1内,请问如何控制它的位置,如,有四个Label控件,想要分别插入A2、D2、G2、K2,另外,想将表格标题如“XXXX表”插入第一行,他应该合并多个列,请问如何实现?
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); //设置导出的Excel文件中的字体属性
hw.AddAttribute("style","FONT-FAMILY: 宋体;FONT-SIZE: 10pt"); //将DataGrid中的内容输入到hw对象中
dataGrid.RenderControl(hw);
System.IO.StreamWriter sw = System.IO.File.CreateText(filePath);
//写入文件标题
sw.WriteLine("<table><tr><td align='center' colspan='" + iColspan + "'><font face='宋体' size=12px><b>"
+ strTitle + "</b></font></td></tr>");
//写入制表时间
sw.WriteLine("<tr><td colspan='" + iColspan + "' align='right'><font face='宋体' size=10px>制表时间:"
+ DateTime.Now.ToString("yyyy年MM月dd日") + "</font></td></tr></table>");
sw.Write(tw.ToString());
sw.Close();
至于标题需要和并多少行,统计一些DataGrid的可见的列数就可以