博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Farpoint的简单用法
阅读量:6093 次
发布时间:2019-06-20

本文共 2419 字,大约阅读时间需要 8 分钟。

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

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

你可能感兴趣的文章
Web实时通信技术
查看>>
第三章 计算机及服务器硬件组成结合企业运维场景 总结
查看>>
IntelliJ IDEA解决Tomcal启动报错
查看>>
默认虚拟主机设置
查看>>
php中的短标签 太坑人了
查看>>
[译] 可维护的 ETL:使管道更容易支持和扩展的技巧
查看>>
### 继承 ###
查看>>
数组扩展方法之求和
查看>>
astah-professional-7_2_0安装
查看>>
函数是对象-有属性有方法
查看>>
uva 10107 - What is the Median?
查看>>
Linux下基本栈溢出攻击【转】
查看>>
c# 连等算式都在做什么
查看>>
使用c:forEach 控制5个换行
查看>>
java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试...
查看>>
使用ansible工具部署ceph
查看>>
linux系列博文---->深入理解linux启动运行原理(一)
查看>>
Android反编译(一) 之反编译JAVA源码
查看>>
结合当前公司发展情况,技术团队情况,设计一个适合的技术团队绩效考核机制...
查看>>
python-45: opener 的使用
查看>>