找回密码
 立即注册

QQ登录

只需一步,快速开始

E时间

注册会员

17

主题

48

帖子

137

积分

注册会员

积分
137

微信认证勋章

E时间
注册会员   /  发表于:2016-9-26 10:43  /   查看:3543  /  回复:5
  导出EXCEl请求WCF服务转JSON总是报错,附件中有DOME,你可以调试下
App20160926103917.png

SpreadJSTEXT.rar

16.83 MB, 下载次数: 117

5 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-9-26 12:32:35
推荐
您好,您的Demo有三个问题。

一,您拼接的json有错误,exportFileType是个string,需要加双引号
  string postData = "{" + "\"spread\":" + spread + "," + "\"exportFileType\":\"" + exportFileType + "\"," + "\"excel\":" + excel + "}";//+ "," + "\"exportFileName\":" + exportFileName +
二。 服务没有添加spread授权文件,需要在\Properties 下添加 licenses.licx,这个安装说明里有
三,服务文件路径使用有问题,这个您需要使用其他方式
string fileFullPath = System.Web.HttpContext.Current.Server.MapPath("~/Template");


最后您的ProcessRequest并没有返回response。
回复 使用道具 举报
E时间
注册会员   /  发表于:2016-9-26 14:12:38
板凳
最后您的ProcessRequest并没有返回response  是在例子中返回 类型ActionResult 或async ;但在 MVC里是  ActionResult 类弄,c#娄库4.5才有 async await。而我用C# 4.0类库。我用什么类型?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-9-26 17:05:09
地板
我看您js里写了  response.filename ,但是ProcessRequest Header里并没有返回,您返回respone返回需要的东西就好了
            context.Response.Write("{status:true}");
回复 使用道具 举报
E时间
注册会员   /  发表于:2016-9-26 17:11:21
5#
我JS 没有返回是response.filename \  . 你们不是返回一下载吗(EXCEL文件)需后台类型ActionResult 或async ,我怎么也可能返回一个下载EXCEL文件。并且在C#4.0没有添加ActionResult 或async 类型?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-9-27 15:58:44
6#
不是很清楚您的需求,因为您用了Header处理请求所以没有ActionResult,ActionResult是mvc框架下。您可以返回您通过wcf提交服务后获取个文件路径下载,也可以把wcf服务返回的文件流再返回前端。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部