Spread有没有提供类似于excel的命名单元格区域的功能?
比如:给B2:B10单元格区域命个名name1, 然后在A列插入一列后,name1所代表的单元格区域就是C2:C10 回复 1楼figoyu的帖子FarPoint.Web.Spread.Model.ICustomNameSupport cns;
cns = (FarPoint.Web.Spread.Model.ICustomNameSupport)FpSpread1.ActiveSheetView.DataModel;
cns.AddCustomName("ALPHA", new RangeExpression(1,1,2,2));
Expression a = cns.GetCustomName("ALPHA"); 这样做不行,在插入1列1行后,ALPHA代表的命名单元格区域还是原来的区域,没变化啊 回复 2楼Helen的帖子
这样做不行,在插入1列1行后,ALPHA代表的命名单元格区域还是原来的区域,没变化啊 回复 4楼figoyu的帖子
DefaultSheetDataModel dtModel = (FpSpread1.Sheets.DataModel as DefaultSheetDataModel);
dtModel.AddCustomName("DataArea", new ExternalRangeExpression(dtModel, 1, 1, 2, 2));
FpSpread1.Columns.Add(0, 1);
FpSpread1.Rows.Add(0, 1);
FpSpread1.Columns.Add(0, 1);
FpSpread1.Rows.Add(0, 1);
var customnames = dtModel.GetCustomNameEnumerator();
while (customnames.MoveNext())
{
ExternalRangeExpression expr = FpSpread1.Sheets.GetCustomName(customnames.Current.ToString()) as ExternalRangeExpression;
} 回复 2楼Helen的帖子
还有,请问一下,在插入一行后,需要复制前一行的公式,怎么复制啊,并且要求公式中的单元格区域相对引用。 回复 5楼Helen的帖子
感谢,这个达到要求了,公式那个怎么复制呢? 回复 6楼figoyu的帖子
您好!
您可以通过5#楼的回帖代码示例,得到的expr.Row/Column都是插入后的实际行列。根据这个索引,您可以调用Cell上面的Formula取得您想要的每个单元格的公式或者Row上面的Formula取得您在行上的公式设置。
谢谢! 回复 8楼Helen的帖子
可能我没描述清楚,我的意思像excel那样拖拽一行,使用复制单元格方式,可以把公式复制下来,对应的公式里面的单元格引用也实现了相对引用 回复 9楼figoyu的帖子
你好,
我对这个问题的理解是,复制公式,同时希望改变公式所计算的单元格范围。如果我的理解是正确的方法如下:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
return;
}
this.FpSpread1.ActiveSheetView.Cells.Formula = "SUM(A1:B1)";
}
protected void Button1_Click(object sender, EventArgs e)
{
FarPoint.Web.Spread.Model.DefaultSheetDataModel dm = (FarPoint.Web.Spread.Model.DefaultSheetDataModel)FpSpread1.ActiveSheetView.DataModel;
dm.Copy(0, 2, 1,2, 1, 1);
如果我理解的有偏差,请及时指出。
谢谢
页:
[1]
2