Farpoint操作excel的用法举例

发布时间:2019-11-08编辑:脚本学堂
本文介绍下,Farpoint操作excel的几个例子,比如打开Excel模板、保存Excel模板等。供大家学习参考。

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)
{
}
}
}