Farpoint的简单用法

Farpoint操作Excel的功能很强大,这里简单记录一下Farpoint的几个用法.

  1. 打开Excel模板
VIEW CODE            this.FpSpread1.OpenExcel(Server.MapPath("../Report/" + strReport));  //打开Excel模板
            this.FpSpread1.Sheets[0].AllowPage = false;  //是否分页显示
            this.FpSpread1.Sheets[0].AutoCalculation = true;  //是否计算公式
            this.FpSpread1.UseClipboard = false;  //是否可以使用复制粘贴
            this.FpSpread1.Sheets[0].OperationMode = FarPoint.Web.Spread.OperationMode.RowMode;  //操作cell的方式(可读写)
            this.FpSpread1.CommandBar.Visible = false;  //是否显示工具栏

    2.  保存Excel模板

VIEW CODE                if (fpSpreadTemplate.SaveExcel(Server.MapPath("../" + strFileName)) == true)
                {}

 

如果保存的时候报错了.可以考虑给操作Excel的文件夹赋everyone权限.

如果还是不行可以考虑将你安装过的farpoint的一个文件夹(fp_client) 配置到你的项目里,然后在webconfig配置节点

VIEW CODE<appSettings>
  <add key="fp_client" value="Report/fp_client"/>
</appSettings>

fp_client 文件夹在你安装的farpoint根目录内.

    3.  操作Excel

VIEW CODE//打开模板
fpSpreadTemplate.OpenExcel(Server.MapPath("../Template/" + TEMPLATE));
fpSpreadTemplate.Sheets[0].AllowPage = false;
fpSpreadTemplate.Sheets[0].AutoCalculation = true;
//循环行和列,遍历格子
for (int iRow = 0; iRow < fpSpreadTemplate.Sheets[0].RowCount; iRow++)
{
            //根据列遍历excel
            for (int iCol = 0; iCol < fpSpreadTemplate.Sheets[0].ColumnCount; iCol++)
            {
                 //获取对应格子中的文本值
                 strCurr = fpSpreadTemplate.Sheets[0].Cells[iRow, iCol].Text;
                 //为格子内容赋值
                 fpSpreadTemplate.Sheets[0].Cells[iRow, iCol].Text = "ABC";
             }
}

    4.  前台操作Excel

VIEW CODE     //使用Farpoint 的FpSpread1_UpdateCommand 事件
    protected void FpSpread1_UpdateCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
    {
        if (fpSpreadTemplate != null)
        {
            try
            {
                //这里循环的某一行的所有列
                for (int i = 0; i < e.EditValues.Count; i++)
                {
                    //如果行的第一列是auto说明这个报表需要输入时间自动赋值的
                    if (this.FpSpread1.Sheets[0].Cells[Convert.ToInt32(e.CommandArgument), 0].Text.ToString() == "auto")
                    {
                        #region
                        //如果当前没有编辑过值
                        if (e.EditValues[i].ToString() != "System.Object")
                        {

                        }
                        #endregion
                    }
                }
            }
            catch (Exception ex)
            {

            }
        }
    }



转载于:https://www.cnblogs.com/donliu/archive/2013/02/14/2911201.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值