找回密码
 立即注册

QQ登录

只需一步,快速开始

dudubear

论坛元老

10

主题

26

帖子

8602

积分

论坛元老

积分
8602

活字格认证

dudubear
论坛元老   /  发表于:2014-3-9 22:00  /   查看:12427  /  回复:12
http://demos.componentone.com/wijmo/spreadjs/exceliosample/
你好,我看到官网的demo是关于Excel导入解析html5,我想问下,如何不是通过upload打开excel,而是从服务器上打开excel,然后修改后再保存到服务器上。如果可以,是否提供下思路或者demo,我在sdk上没有找到相关的资料,谢谢!

12 个回复

正序浏览
Alice
社区贡献组   /  发表于:2014-10-17 16:49:00
13#
回复 11楼dudubear的帖子

你好。
看到你一直在对此问题寻求解决方案,我们也一直研究,希望帮助你找到合适解决方案。
直接去做是不可以的,但可以在服务器端模拟该行为。
附件里简单的Sample来完成这个需求,给你做下参考。
有问题欢迎随时咨询。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-10-17 15:33:00
12#
回复 11楼dudubear的帖子

很抱歉,这两个是不同的产品,不支持这样做。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
dudubear
论坛元老   /  发表于:2014-10-17 10:51:00
11#
Excelio.dll 能否实现这个后台功能?还有如果用Spread ASP.NET 能和Speadjs结合使用吗?即用Spread ASP.NET 在后台生成String,可以被Speadjs解析。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-10-10 17:52:00
10#
回复 9楼dudubear的帖子

你好。
SpreadJs暂时没有接口可以直接在服务器打开Excel文件。
如果是在服务器端直接打开Excel文件,我们建议使用Spread ASP.NET.
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
dudubear
论坛元老   /  发表于:2014-10-10 08:21:00
9#
项目临时搁置了,最近又要启动,这个问题,还是没有解决“我们目前只需要把 Url 直接包装成 File 对象即可设置给 SpreadJS。关于包装文件为 File 对象的资源网上有很多,可以尝试搜索下。”我没有找到之类的,求救啊!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-3-12 12:10:00
8#
回复 6楼dudubear的帖子

当前调查进度,导入代码:

  1. $("#import_excel").click(function () {
  2.                 try {
  3.                     var dataOnly = $('#import_excel_dataOnly').prop('checked') ? 1 : 0,
  4.                             dataAndFormulasOnly = $('#import_excel_dataAndFormulasOnly').prop('checked') ? 3 : 0,
  5.                             rowHeaders = $('#import_excel_rowHeaders').prop('checked') ? 4 : 0,
  6.                             columnHeaders = $('#import_excel_columnHeaders').prop('checked') ? 8 : 0,
  7.                             rowColumnHeaders = $('#import_excel_rowcolumnHeaders').prop('checked') ? 12 : 0,
  8.                             doNotRecalculateAfterLoad = $('#import_excel_donotrecalculateafterload').prop('checked') ? 1024 : 0;
  9.                     var excelOpenFlags = (dataOnly | dataAndFormulasOnly | rowHeaders | columnHeaders | rowColumnHeaders | doNotRecalculateAfterLoad);

  10.                     var password = $('#password').val();
  11.                     var theFile = $("#import_excel_file")[0].files[0];
  12.                     var serverUrl = $("#serviceUrl").val() + "/xsapi/import/";

  13.                     var formData = new FormData();
  14.                     formData.append("ExcelOpenFlags", excelOpenFlags);
  15.                     formData.append("Password", password);
  16.                     formData.append("file", theFile);

  17.                     if (serverUrl && theFile) {
  18.                         showLoading();
  19.                         importFile(serverUrl, formData, function (jsonString) {
  20.                             var spreadJson = JSON.parse(jsonString);
  21.                             if (spreadJson.spread) {
  22.                                 hideLoading();
  23.                                 var spread = $("#ss").wijspread("spread");
  24.                                 spread.fromJSON(spreadJson.spread);
  25.                             } else if (spreadJson.error) {
  26.                                 hideLoading();
  27.                                 alert(spreadJson.error);
  28.                             }
  29.                         }, function (error) {
  30.                             alert(error);
  31.                         });
  32.                     }
  33.                 } catch (ex) {
  34.                     alert(ex);
  35.                 }
  36.             });
复制代码

    var theFile = $("#import_excel_file")[0].files[0]; 这句代码用于设置 Excel 对应的 Javascript 对象 File。
所以,我们目前只需要把 Url 直接包装成 File 对象即可设置给 SpreadJS。关于包装文件为 File 对象的资源网上有很多,可以尝试搜索下。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-3-11 09:46:00
7#
回复 6楼dudubear的帖子

我这边会尝试做一个例子给你参考
回复 使用道具 举报
dudubear
论坛元老   /  发表于:2014-3-10 16:22:00
6#


demo中还是通过客户端上传到服务器解析的,数据是通过input=file控件来传递的,
我想实现的功能是,我excel是保存在服务器上,直接点击“转换成html5输出到页面”从服务器上获取excel文件然后在输出到页面上,然后点击“导出到服务器上”再保存到服务器,我找了一些文档都是通过客户端upload的,是不是ExcelIO不支持从服务器端load Excel文件,或者ExcelIO的DLL有后台的相关方法可以实现这个功能。


我目前实现的方式:现在写了这样的工具,就是用excelIO把Excel装化成JSON,然后把这个JSON写入到实体js文件中,但是这样ExcelIO只有在项目实施的时候有用,接下来的运行中只要spreadjs之类的就可以了,完全用不到ExcelIO这个组件了。


其实按照我现在的做法也可以满足需求,但是如果这样总觉得没有把这个产品用好!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-3-10 14:16:00
5#
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部