问:
产品版本:v4.0.2007 操作系统:Windows XP IDE: Visual Studio 2005
我的问题是:
在页面上spread的RowHeader是显示的,即fpSpread1.Sheets[0].RowHeader.Visible = true;在导出excel的时候应该怎样设置才能将RowHeader也导出到excel文件中呢?
目前用的代码是:
FarPoint.Web.Spread.PrintInfo prinf = new FarPoint.Web.Spread.PrintInfo();
prinf.ShowColumnHeader = FarPoint.Web.Spread.PrintHeader.Show;
prinf.ShowRowHeader = FarPoint.Web.Spread.PrintHeader.Show;
fpSpread1.Sheets[0].PrintInfo = prinf;
fpSpread1.SaveExcel(ms, FarPoint.Excel.ExcelSaveFlags.SaveBothCustomRowAndColumnHeaders);
这样的话RowHeader是显示出来了,不过内容为空。
答:
PrintInfo是用于控制打印相关设置的。它不影响导出Excel的设置。
你使用SaveExcel方法,通过参数控制保存结果是正确的。
默认情况下,RowHeader显示行号1,2,3... 在这种情况下,保存到Excel中不会显示行号,您应该只看到了淡蓝色背景。
原因是您现在看到的RowHeader的Text其实是null,您必须设置Text属性之后,再保存,才能显示内容。
如果您只是想显示行号,可以参考下面的代码进行设置:
for (int i = 0; i < this.FpSpread1.ActiveSheetView.RowCount; i++)
{
this.FpSpread1.ActiveSheetView.RowHeader.Cells[i, 0].Text = (i + 1).ToString();
}
之后再使用:
fpSpread1.SaveExcel(ms, FarPoint.Excel.ExcelSaveFlags.SaveBothCustomRowAndColumnHeaders);
进行保存。
这样RowHeader的内容就显示出来了。
产品介绍和下载地址:http://www.componentcn.com/html/biaogekongjian_124_3920.html