找回密码
 立即注册

QQ登录

只需一步,快速开始

thmnsc

注册会员

2

主题

6

帖子

62

积分

注册会员

积分
62
最新发帖
thmnsc
注册会员   /  发表于:2019-3-27 15:59  /   查看:2665  /  回复:7
本帖最后由 thmnsc 于 2019-3-27 16:14 编辑

官网示例demo,添加了一下js引用:
  1. <script type="text/javascript" src="@Url.Content("~/Scripts/gc.spread.sheets.all.12.0.0.min.js")"></script>
  2. <script type="text/javascript" src="@Url.Content("~/Scripts/gc.spread.sheets.resources.zh.12.0.0.min.js")"></script>
  3. <script type="text/javascript" src="@Url.Content("~/Scripts/gc.spread.excelio.12.0.0.min.js")"></script>
  4. <script type="text/javascript" src="@Url.Content("~/Scripts/FileSaver.js")"></script>
  5. <script type="text/javascript" src="@Url.Content("~/Scripts/license.js")"></script>
  6. <script type="text/javascript" src="@Url.Content("~/Scripts/index.js")"></script>
复制代码

打开现有文件的JS函数如下:
  1. //打开已有的Excel
  2. function importFromExcel() {
  3.     var excelIo = new GC.Spread.Excel.IO();
  4.     var excelFilePath = '../upload/ufo2.xlsx';
  5.     var xhr = new XMLHttpRequest();
  6.     xhr.open('GET', excelFilePath, true);
  7.     xhr.responseType = 'blob';
  8.     xhr.onload = function (e) {
  9.         if (this.status == 200) {
  10.             // get binary data as a response
  11.             var blob = this.response;
  12.             // convert Excel to JSON
  13.             excelIo.open(blob, function (json) {
  14.                 var workbookObj = json;
  15.                 spread.fromJSON(workbookObj);
  16.             }, function (e) {
  17.                 //process error
  18.                 alert(e.errorMessage);
  19.             }, {});
  20.         }
  21.     };
  22.     xhr.send();
  23. }
复制代码

excel文件很简单,直接用office2010新建一个excel文件,简单编辑了2个单元格的文本。

点击按钮时提示:文件格式错误。

ufo2.zip

6.29 KB, 下载次数: 70

7 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-3-27 18:02:25
沙发
由于用的是XMLHttpRequest,如果是纯前端运行可能会存在跨域的问题,excelIo在这里统一做了try catch导致无法显示真正的错误原因,您先将您的demo部署之后运行看看还有没有问题。如果还有问题,麻烦提供完整的demo,我们帮您看一下
回复 使用道具 举报
thmnsc
注册会员   /  发表于:2019-3-28 08:43:10
板凳
ClarkPan 发表于 2019-3-27 18:02
由于用的是XMLHttpRequest,如果是纯前端运行可能会存在跨域的问题,excelIo在这里统一做了try catch导致无 ...

不是纯前端运行的,是在开发环境下运行的。
代码也很简单,如果你们有时间的话可以试试。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-3-28 10:30:34
地板
您好,看到您的代码,应该是参考了这篇帖子:

JAVA应用SpreadJS实现服务器端导入导出

根据您提供的信息,我们没有发现任何问题,代码和引用都正确,

并且您提供的Excel文档也可以正常打开。

所以想跟您确认一下,官网给出的示例中,在路径:

SpreadJS_Demo3\src\main\webapp\resources\Excel

下有一个importExcel.xlsx,不知道在您的环境中能否正常打开呢?

回复 使用道具 举报
thmnsc
注册会员   /  发表于:2019-3-28 11:01:02
5#
KevinChen 发表于 2019-3-28 10:30
您好,看到您的代码,应该是参考了这篇帖子:

JAVA应用SpreadJS实现服务器端导入导出

参考帖子里面的importExcel.xlsx,在我的开发环境下依然打不开,同样报“文件格式错误”。
也许是我电脑的环境有什么不对吧。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-3-28 15:47:34
6#
您用的浏览器型号和版本号是多少?发个报错信息截图我们分析一下.
回复 使用道具 举报
thmnsc
注册会员   /  发表于:2019-3-29 12:43:46
7#
KevinChen 发表于 2019-3-28 15:47
您用的浏览器型号和版本号是多少?发个报错信息截图我们分析一下.

已解决,是个低级错误,变量应该声明为公共变量就可以了。
代码在帖子https://gcdn.grapecity.com.cn/showtopic-55077-1-1.html
需要的朋友可以下载看看。

评分

参与人数 1金币 +500 收起 理由
KevinChen + 500 赞一个!

查看全部评分

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-3-29 17:42:48
8#
感谢分享!
很高兴您解决了问题,本帖我结贴了~
有新的问题欢迎发新帖交流
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部