找回密码
 立即注册

QQ登录

只需一步,快速开始

cmbsjdev
中级会员   /  发表于:2021-8-12 14:54:26
11#
我们前端vue这样调用:this.$http
        .post('daqApi/monitorManager/queryGatherData', data)
        .then(res => {
          var dataSource = res.data   }    ;workbook.toJson(new FileOutputStream("D:\\java.json")); 这个重载的方法是无返回值的,前端如何改?   
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-12 16:46:47
12#
cmbsjdev 发表于 2021-8-12 14:54
我们前端vue这样调用:this.$http
        .post('daqApi/monitorManager/queryGatherData', data)
      ...

可以尝试写成内存流用ByteArrayOutputStream,然后写到response里面
https://demo.grapecity.com.cn/documents-api-excel-java/docs/ImportAndExportJsonStream.html?highlight=bytearrayoutputstream%2C
  1. OutputStream outputStream = new ByteArrayOutputStream();
  2. workbook.toJson(outputStream);
  3. ByteArrayOutputStream buffer = (ByteArrayOutputStream) outputStream;
  4. byte[] bytes = buffer.toByteArray();
  5. InputStream inputStream = new ByteArrayInputStream(bytes);
  6. workbook1.fromJson(inputStream);
复制代码



回复 使用道具 举报
cmbsjdev
中级会员   /  发表于:2021-8-12 16:50:43
13#
spreadjs  接收这个response 并放置到 设计器中的demo例  帮找下
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-12 17:31:12
14#
cmbsjdev 发表于 2021-8-12 16:50
spreadjs  接收这个response 并放置到 设计器中的demo例  帮找下

问题最根本在于内存太小了,哪怕给出对于20多M的Excel能够正常导入的方案。随着业务的增长,Excel越来越大,内容总有不够的时候。我们即使把GcExcel的性能达到最优,内存这个框框就这么大,总会有溢出的时候。

因此,提升内存是必然的,否则没有更好的方案了。
回复 使用道具 举报
cmbsjdev
中级会员   /  发表于:2021-8-16 20:53:20
15#
附件是代码,帮核实下

代码.txt

36.22 KB, 下载次数: 37

回复 使用道具 举报
cmbsjdev
中级会员   /  发表于:2021-8-16 20:56:18
16#
import GC from "@grapecity/spread-sheets";
import "@grapecity/spread-sheets-charts";
import * as Excel from "@grapecity/spread-excelio";
import licenseKey from "../../../../public/lib/LicenseVue";
import FaverSaver from "file-saver"; // 不可删除影响提交
GC.Spread.Sheets.LicenseKey = Excel["LicenseKey"] = licenseKey;
import "@grapecity/spread-sheets-resources-zh";
GC.Spread.Common.CultureManager.culture("zh-cn");
import axios from "axios";

以上是额外引入。。。。 。。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-17 09:27:57
17#
cmbsjdev 发表于 2021-8-16 20:56
import GC from "@grapecity/spread-sheets";
import "@grapecity/spread-sheets-charts";
import * as E ...

请问response是前端拿到的吗?如果是,可以在前端直接用fromJSON将这个response导入
image.png803317260.png
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部