找回密码
 立即注册

QQ登录

只需一步,快速开始

guxinghan

论坛元老

14

主题

38

帖子

4996

积分

论坛元老

积分
4996

活字格认证

guxinghan
论坛元老   /  发表于:2014-9-2 10:43  /   查看:5499  /  回复:5
想实现如下功能(后台)
1 选择单元格范围
2 复制单元格,包括单元格中设置的显示样式,公式等等一切信息
3 把复制的内容粘贴到新的单元格中。

注:类似于winform中 fpSpread1.ActiveSheet.FillRange(0, 0, 2, 2, 4, FillDirection.Down);
这个方法

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-9-2 18:13:00
沙发
回复 1楼guxinghan的帖子

你好,
当前 Spread for ASP.NET 只能在前台复制数据:

  1. FpSpread1.Copy(); // copies the selection to Clipboard
  2.     FpSpread1.SetActiveCell(0,0); // goes to top of displayed sheet
  3.     FpSpread1.Paste();
复制代码


无法复制公式和样式。
谢谢
回复 使用道具 举报
guxinghan
论坛元老   /  发表于:2014-9-2 18:30:00
板凳
那么在后台,不能进行单元格的选中,复制等操作吗?
owc11 那么老的控件都支持,你们这个不能吗?
那么:选中单元格,拷贝单元格,选中单元格2  把数据粘贴到2上,可以实现吗?
回复 使用道具 举报
guxinghan
论坛元老   /  发表于:2014-9-2 18:42:00
地板
我的实现是这样的:
1 读取模板
2 算出填充数据行数,设置控件行数
3 复制模板的第一行(包含公式,样式等信息)
4 把第一行内容粘贴到所有行中
5 填充数据
回复 使用道具 举报
guxinghan
论坛元老   /  发表于:2014-9-2 18:46:00
5#
还有一种思路
读取所有列 第一行的样式等信息(比如字体大小,小数位数这种),然后设置整列,这个可以实现吗?
我现在做评估,能否给我们产品升级。如果可以的话,会去购买商品,如果很多东西实现不了,我们也只能放弃。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-9-3 13:55:00
6#
回复 5楼guxinghan的帖子

Spread 在后台可以复制数据、公式和样式,分别使用不同的模型来实现,其中公式和数据都使用DefaultSheetDataModel 来实现:
请你尝试以下代码:

  1.         protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.             {
  5.                 return;
  6.             }
  7.             FpSpread1.ActiveSheetView.RowCount = 10;
  8.             for (int i = 0; i < 1; i++)
  9.             {
  10.                 FpSpread1.ActiveSheetView.SetValue(i, 0, i);
  11.                 FpSpread1.ActiveSheetView.SetValue(i, 1, i);
  12.                 FpSpread1.ActiveSheetView.SetValue(i, 2, i);
  13.             }
  14.             this.FpSpread1.ActiveSheetView.SetFormula(0, 3, "SUM(A1:C1)");

  15.             FarPoint.Web.Spread.Model.DefaultSheetStyleModel model = (FarPoint.Web.Spread.Model.DefaultSheetStyleModel)FpSpread1.Sheets[0].StyleModel;
  16.             FarPoint.Web.Spread.StyleInfo style = new FarPoint.Web.Spread.StyleInfo();
  17.             style.BackColor = Color.Yellow;
  18.             model.SetDirectInfo(0, 0, style);
  19.         }
  20.        //复制数据
  21.         protected void Button2_Click(object sender, EventArgs e)
  22.         {
  23.             FarPoint.Web.Spread.Model.DefaultSheetDataModel dm = (FarPoint.Web.Spread.Model.DefaultSheetDataModel)FpSpread1.ActiveSheetView.DataModel;
  24.             dm.Copy(0, 0, 1, 0, 1, 4);
  25.         }
  26.         //复制样式
  27.         protected void Button1_Click(object sender, EventArgs e)
  28.         {
  29.             FarPoint.Web.Spread.Model.DefaultSheetStyleModel model = (FarPoint.Web.Spread.Model.DefaultSheetStyleModel)FpSpread1.Sheets[0].StyleModel;
  30.             model.Copy(0, 0, 1, 0, 1, 4);
  31.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部