找回密码
 立即注册

QQ登录

只需一步,快速开始

holly.huang

初级会员

34

主题

125

帖子

365

积分

初级会员

积分
365

活字格认证微信认证勋章

holly.huang
初级会员   /  发表于:2014-12-12 13:24  /   查看:6435  /  回复:7
如题:
在后台可以用FpSpread1.SaveExcelToResponse方法导出excel文件,
在前台用JS可以实现吗?

7 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-12-12 13:49:00
沙发
回复 1楼holly.huang的帖子

该方法前台无法使用,不过可以通过 Callback 方法调用后台 Spread 事件导出Excel:

  1. <script language="javascript">
  2.   function DoCallBack() {
  3.     FpSpread1.UpdatePostbackData();
  4.     FpSpread1.CallBack("Button", true);
  5.   }
  6. </SCRIPT>
复制代码
回复 使用道具 举报
holly.huang
初级会员   /  发表于:2014-12-12 14:16:00
板凳
测试结果如下:

protected void FpSpread1_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
        {

                    this.FpSpread1.SaveExcelToResponse("hr.xls", ExcelSaveFlags.SaveBothCustomRowAndColumnHeaders);
            
}

在<asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>

FpSpread在UpdatePanel1中的时候,导不成功。。。。

也是异步的情况下,导出不成功。。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-12-12 17:58:00
地板
回复 3楼holly.huang的帖子

你好,

3#描述的问题我已经重现了。
有一点疑问需要和您确认,当前你需要实现的是在保存 Excel 的时候异步刷新吗?

可否在后台使用 SaveExcel 方法导出到server端,再提供给用户下载?

谢谢
回复 使用道具 举报
holly.huang
初级会员   /  发表于:2014-12-12 21:19:00
5#
是的,我不希望导出的时候,整个页面一块刷新。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-12-15 14:21:00
6#
回复 5楼holly.huang的帖子

这个问题我做了以下测试:

Button 结合 UpdatePanel 通过 Click 事件异步调用实现 Response 前台输出一个字符串,没有成功。
说明UpdatePanel异步调用无法支持通过 Response 方式输入数据到前台。

所以建议您采取:4#提供的方法“在后台使用 SaveExcel 方法导出到server端,再提供给用户下载&quot;

谢谢

评分

参与人数 1满意度 +5 收起 理由
holly.huang + 5 谢谢!!!!!

查看全部评分

回复 使用道具 举报
holly.huang
初级会员   /  发表于:2014-12-15 14:36:00
7#
好的。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-12-15 16:22:00
8#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部