找回密码
 立即注册

QQ登录

只需一步,快速开始

dudubear

论坛元老

10

主题

26

帖子

8602

积分

论坛元老

积分
8602

活字格认证

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

12 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-3-10 10:49:00
沙发
回复 1楼dudubear的帖子

dudubear 你好,

抱歉,我没有完全理解你的意思,请问你的意思是需要直接打开服务器端的 Excel 文件吗?

ExcelIO 向用户开放了两个接口 Import 和 Export,传入Excel使用的是Import,和Excel存放的位置无关。

如果我没有理解正确,还请指出来
回复 使用道具 举报
dudubear
论坛元老   /  发表于:2014-3-10 11:20:00
板凳
我看了两个export和import,说通俗点,我就是不知道怎么在aspx的page load中去加载一个excel,然后在页面显示,然后再编辑保存到服务器上。
回复 使用道具 举报
dudubear
论坛元老   /  发表于:2014-3-10 11:21:00
地板
我没有找到相关的文档和demo。求指教
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-3-10 14:16:00
5#
回复 使用道具 举报
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-11 09:46:00
7#
回复 6楼dudubear的帖子

我这边会尝试做一个例子给你参考
回复 使用道具 举报
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 对象的资源网上有很多,可以尝试搜索下。
回复 使用道具 举报
dudubear
论坛元老   /  发表于:2014-10-10 08:21:00
9#
项目临时搁置了,最近又要启动,这个问题,还是没有解决“我们目前只需要把 Url 直接包装成 File 对象即可设置给 SpreadJS。关于包装文件为 File 对象的资源网上有很多,可以尝试搜索下。”我没有找到之类的,求救啊!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-10-10 17:52:00
10#
回复 9楼dudubear的帖子

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

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部