Spread For ASP.NET开发之一

一、FarPoint _Spread简介

(1)Spread For ASP.NET是一个综合性的,用于.NET平台的ASP.NET应用程序开发的表格控件。他集成了丰富的表格功能,工作表功能,并可与多种数据源绑定;
(2)一个Spread控件可以支持多大20亿个工作表,每个工作表可以处理20亿行和20列,并且支持夸工作表的数据引用和公式引用;
(3)Spread有Web版本和WinForm版本;
(4)下面以FarPoint.Web.Spread3为例简单介绍一下如何使用。

二、FarPoint.Web.Spread的使用

1、准备
(1)首先需要下载FarPoint.Web.Spread3相关的动态库,下载地址:点击打开链接
(2)在项目中引用动态库,包括:FarPoint.CalcEngine.dll、FarPoint.Excel.dll、FarPoint.Web.Spread.dll;
(3)为了使用方便,可以将其添加到工具栏菜单中;
2、Spread Web功能模型图

3、基本功能介绍
(1)支持单元格内的编辑和验证,支持.NET2.0以上;
(2)支持绑定和非绑定模式(无需数据库);
(3)支持AJAX;
(4)支持Excel的导入和导出;
(5)支持客户端行/列缩放、多重表、搜索、筛选、多重单元格类型、验证、单元格合并、多表头、排序、单元格级的全面定制;
(6)支持分层显示
(7)提供丰富的打印工能;
4、实例
(1)前台代码
<form id="form1" runat="server">
  <div>
    <FarPoint:FpSpread ID="fpSpread" runat="server" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" 
     Height="200" Style="position: absolute;" Width="400">
      <CommandBar BackColor="Control" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight" ButtonShadowColor="ControlDark" />
      <Sheets>
         <FarPoint:SheetView SheetName="Sheet1">

         </FarPoint:SheetView>
      </Sheets>
    </FarPoint:FpSpread>
  </div>
</form>
(2)后台代码
#region Event Methods

        protected void Page_Load(object sender, EventArgs e)
        {
            InitialFarPoint(this.fpSpread);
        }

        #endregion

        #region Private Methods

        private void InitialFarPoint(FpSpread spread)
        {
            //设置表格的高度、宽度、列数、行数
            spread.Height = 600;
            spread.Width = 1000;
            spread.ActiveSheetView.ColumnCount = 100;
            spread.ActiveSheetView.RowCount = 100;
            spread.ActiveSheetView.AllowColumnMove = true;
            //设置操作Cell的方式(可读写)
            spread.ActiveSheetView.OperationMode = OperationMode.RowMode;
            //是否可以使用复制粘贴
            spread.UseClipboard = true;
            //是否显示工具栏
            spread.CommandBar.Visible = false;
            //spread.CommandBarOnBottom = true;
            //spread.CommandBar.ButtonShadowColor = Color.Gold;

            //spread.ActiveSheetView.AllowSort = true;
            //设置列标题的默认高度
            spread.ActiveSheetView.ColumnHeaderHeight = 30;
            //设置单元格的默认高度
            spread.ActiveSheetView.Rows.Default.Height = 15;
            //设置水平和垂直滚动条
            spread.HorizontalScrollBarPolicy = ScrollBarPolicy.AsNeeded;
            spread.VerticalScrollBarPolicy = ScrollBarPolicy.AsNeeded;
            //设置工作表的Corner的样式
            spread.ActiveSheetView.SheetCornerStyle.BackColor = Color.FromArgb(169, 196, 233);
            //spread.ActiveSheetView.SheetCornerStyleName = "全选";      

            //获取或设置是否可以分页
            spread.ActiveSheetView.AllowPage = false;

            //设置外部边框的样式
            spread.BorderColor = Color.FromArgb(120, 100, 90);
            spread.BorderStyle = BorderStyle.Solid;
            spread.BorderWidth = 2;

            //设置工作表的背景色
            spread.ActiveSheetView.BackColor = Color.White;
            //Color.FromArgb(110,200,180);

            //设置选中单元格的背景色
            spread.ActiveSheetView.SelectionBackColor = Color.Red;
            //spread.ActiveSheetView.DataSource

            int pRowCount = spread.ActiveSheetView.RowCount;
            int pColumnCount = spread.ActiveSheetView.ColumnCount;
            //设置列标题
            spread.Sheets[0].ColumnHeader.RowCount = 2;
            spread.Sheets[0].RowHeader.ColumnCount = 1;
            spread.ActiveSheetView.ColumnHeader.DefaultStyle.BackColor = Color.FromArgb(228, 236, 247);
            spread.ActiveSheetView.RowHeader.DefaultStyle.BackColor = Color.FromArgb(228, 236, 247);
            for (int i = 0; i < pColumnCount; i++)
            {
                spread.ActiveSheetView.ColumnHeader.Cells[0, i].Text = "第" + (++i) + "列";
                i--;
                //spread.ActiveSheetView.ColumnHeaderVisible = false;
                //spread.ActiveSheetView.all
            }
            //设置单元格的值
            for (int i = 0; i < pRowCount; i++)
            {
                for (int j = 1; j < pColumnCount; j++)
                {
                    //设置单元格的类型
                    spread.ActiveSheetView.Cells[i, --j].CellType = new IntegerCellType("有非数字");
                    spread.ActiveSheetView.Columns[0].CellType = new IntegerCellType();
                    //日期类型
                    //spread.ActiveSheetView.Cells[i, j].CellType = new DateTimeCellType();
                    //单选框类型
                    //spread.ActiveSheetView.Cells[i, j].CellType = new CheckBoxCellType();
                    //文本类型
                    //spread.ActiveSheetView.Cells[i, j].CellType = new GeneralCellType();
                    j++;

                    spread.ActiveSheetView.Cells[i, 0].Text = (++i).ToString();
                    i--;
                    spread.ActiveSheetView.Cells[i, j].Text = (i * j).ToString();
                }
            }

            //Protect属性设置单元格是否需要被锁定,当Locked为true时,他必须为true,默认为true
            //spread.ActiveSheetView.Protect = true;
            for (int i = 0; i < pRowCount; i++)
            {
                //锁定单元格
                spread.ActiveSheetView.Cells[i, 0].Locked = true;
                spread.ActiveSheetView.Rows[i].VerticalAlign = VerticalAlign.Middle;
                spread.ActiveSheetView.Rows[i].HorizontalAlign = HorizontalAlign.Left;
            }
            //设置被锁住单元格的背景色和前景色
            spread.ActiveSheetView.LockBackColor = Color.Gray;
            spread.ActiveSheetView.LockForeColor = Color.Red;

            //spread.ActiveSheetView.PageSize = spread.Rows.Count + 10;
            //spread.OpenExcel(@"E:\工作\待解决.xlsx", 0, 0);

            //冻结行列
            //spread.ActiveSheetView.FrozenColumnCount = 1;
            //spread.ActiveSheetView.FrozenRowCount = 1;

            选择引用样式
            //spread.ActiveSheetView.ReferenceStyle = ReferenceStyle.R1C1;
            设置单元格公司
            //spread.ActiveSheetView.Cells[0, 9].Formula = "RC[-1]-RC[-2]";
            //for (int i = 1; i < 10; i++)
            //{
            //    //设置公式,同一列的上面一行减去同一行的左边第二列加上同一行的左边第一列
            //    spread.ActiveSheetView.Cells[i, 9].Formula = "R[-1]C-RC[-2]+RC[-1]";
            //}

            合并单元格
            //spread.ActiveSheetView.AddSpanCell(1, 2, 3, 4);
        }

        #endregion
(3)展示





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值