Farpoint的简单用法简要概述
程序员文章站
2024-03-03 22:58:22
farpoint操作excel的功能很强大,这里简单记录一下farpoint的几个用法. 1.打开excel模板 复制代码 代码如下: this.fpspread1.ope...
farpoint操作excel的功能很强大,这里简单记录一下farpoint的几个用法.
1.打开excel模板
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模板
if (fpspreadtemplate.saveexcel(server.mappath("../" + strfilename)) == true)
{}
如果保存的时候报错了.可以考虑给操作excel的文件夹赋everyone权限.
如果还是不行可以考虑将你安装过的farpoint的一个文件夹(fp_client) 配置到你的项目里,然后在webconfig配置节点
<appsettings>
<add key="fp_client" value="report/fp_client"/>
</appsettings>
fp_client 文件夹在你安装的farpoint根目录内.
3.操作excel
//打开模板
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
//使用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)
{
}
}
}
o(∩_∩)o每天进步一点点o(∩_∩)o 该blog供个人记录学习笔记,如有错误欢迎指出!
1.打开excel模板
复制代码 代码如下:
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模板
复制代码 代码如下:
if (fpspreadtemplate.saveexcel(server.mappath("../" + strfilename)) == true)
{}
如果保存的时候报错了.可以考虑给操作excel的文件夹赋everyone权限.
如果还是不行可以考虑将你安装过的farpoint的一个文件夹(fp_client) 配置到你的项目里,然后在webconfig配置节点
复制代码 代码如下:
<appsettings>
<add key="fp_client" value="report/fp_client"/>
</appsettings>
fp_client 文件夹在你安装的farpoint根目录内.
3.操作excel
复制代码 代码如下:
//打开模板
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
复制代码 代码如下:
//使用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)
{
}
}
}
o(∩_∩)o每天进步一点点o(∩_∩)o 该blog供个人记录学习笔记,如有错误欢迎指出!
下一篇: thinkPHP批量删除的实现方法分析