找回密码
 立即注册

QQ登录

只需一步,快速开始

jadymrhu
注册会员   /  发表于:2019-3-14 21:27:25
11#
ClarkPan 发表于 2019-2-19 18:14
没有,不过原理是一样的,导入都是通过XMLHttpRequest去请求服务器端的Excel
导出就是将前端生成的blob ...

请问下有没有纯java后端的方法将SpreadJson转换为Excel然后在服务端存储?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-3-15 16:40:12
12#
jadymrhu 发表于 2019-3-14 21:27
请问下有没有纯java后端的方法将SpreadJson转换为Excel然后在服务端存储?

这个刚刚在电话中说了,根据您的业务逻辑,您之前前端ExcelIO生成的blob流保存到后端转存为Excel就行了。
如果确实又需要在后端将ssjson转化为Excel,可以下载试用我们的另一款产品GCExcel,这款产品是专门服务器端操作Excel的并且支持SpreadJS生成的ssjson 产品链接如下:
GCExcel .net版本:https://www.grapecity.com.cn/dev ... documents/excel-net
GCExcel JAVA版本 https://www.grapecity.com.cn/dev ... ocuments/excel-java
回复 使用道具 举报
jadymrhu
注册会员   /  发表于:2019-3-15 16:51:42
13#
ClarkPan 发表于 2019-3-15 16:40
这个刚刚在电话中说了,根据您的业务逻辑,您之前前端ExcelIO生成的blob流保存到后端转存为Excel就行了。 ...

好的,感谢,我现在去试验~
回复 使用道具 举报
zhencc
金牌服务用户   /  发表于:2019-3-18 11:14:20
14#
测试从服务端读取excel流之在页面生成的表格丢失了99% 的数据,这是咋回事
回复 使用道具 举报
zhencc
金牌服务用户   /  发表于:2019-3-18 11:19:22
15#
多次读取后可以完整绘制整个页面,想问读取远程服务端的excel之后到页面公式还有吗?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-3-21 08:58:48
16#
zhencc 发表于 2019-3-18 11:19
多次读取后可以完整绘制整个页面,想问读取远程服务端的excel之后到页面公式还有吗?

实例中的方法其实就是把excel下载到前端,然后用spreadjs Excel 前端打开。公式数据都还在的,如果出现数据丢失,你可以发个帖子说明此问题。
回复 使用道具 举报
liangrege
注册会员   /  发表于:2019-9-20 18:17:41
17#
好几个Maven依赖的jar都下不下来
回复 使用道具 举报
hongshanshanSpreadJS 开发认证
高级会员   /  发表于:2019-10-22 11:14:37
18#
用Vue做的,到 excelIO.open(blob, function (json);这一步一直报Incorrect file format的错误
回复 使用道具 举报
hongshanshanSpreadJS 开发认证
高级会员   /  发表于:2019-10-22 11:15:44
19#
hongshanshan 发表于 2019-10-22 11:14
用Vue做的,到 excelIO.open(blob, function (json);这一步一直报Incorrect file format的错误

<template>
  <div class="componentContainer gc-scrollbar-thin" >
    <h3>打开服务器端Excel文件</h3>
    <div>
        <button @click="openExcel">打开</button>
        <!-- <button @click="exportExcel">导出</button>
        <button @click="printWorkbook">打印</button> -->
    </div>
    <div style="text-align: left; margin-top: 10px;">
        <gc-spread-sheets
            hostClass='spread-host'
            @workbookInitialized = 'workbookInitialized($event)'>
            <gc-worksheet>
            </gc-worksheet>
        </gc-spread-sheets>
    </div>
  </div>
</template>
<script>
import '@grapecity/spread-sheets-vue'
import ExcelIO from '@grapecity/spread-excelio'

export default {
  methods: {
    processFile(event) {
      this.excelFile = event.target.files[0];
    },
    openExcel () {
      debugger
      var excelIO = new ExcelIO.IO();
      console.log(excelIO);
      // Download Excel file
      var excelFilePath = 'public/test.xlsx';
      var xhr = new XMLHttpRequest();
      xhr.open('GET', excelFilePath, true);
      xhr.responseType = 'blob';
      xhr.onload = function(e) {
        if (this.status == 200) {
          // get binary data as a response
          var blob = this.response;
          // convert Excel to JSON
          excelIO.open(blob, function (json) {
            var workbookObj = json;
            this.spread.fromJSON(workbookObj);
            console.log(json);
          }, function (e) {
            // process error
            alert(e.errorMessage);
          }, {});
        }
      };
      xhr.send();
    },
    workbookInitialized(spread) {
       this.spread = spread;
       spread.refresh();
    },
  }
}
</script>

<style scoped>
.componentContainer {
  position: absolute;
  padding: 10px;
  left: 242px;
  top: 0;
  bottom: 20px;
  right: 0px;
}
.spreadContainer {
  padding: 10px;
  box-shadow: 0 0 20px grey;
}
.spreadContainer{
  position: absolute;
  left: 0px;
  right: 30px;
  top: 260px;
  bottom: 10px;
}
.spread-host {
  width: 100%;
  height: 720px;
  border: 1px solid black;
}
</style>
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-10-22 17:29:11
20#
hongshanshan 发表于 2019-10-22 11:15
打开服务器端Excel文件
   
        打开

应该是导入的blob里面的内容的问题,跟VUE没关系
具体你需要看看blob的内容与demo中的有什么区别
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部