1金币
使用toJSON导出切割只剩下一个sheet的spread,存储为json,然后IO读取就不会显示了。
我的json文件在附件:
java:
- private String inputReadFile(String filePath) {
- try (BufferedReader reader = new BufferedReader(new InputStreamReader(Files.newInputStream(Paths.get(filePath)),
- StandardCharsets.UTF_8))) {
- StringBuilder sb = new StringBuilder();
- String line;
- while ((line = reader.readLine()) != null) {
- sb.append(line);
- }
- return sb.toString();
- } catch (IOException e) {
- throw new Exception(e.toString());
- }
- }
复制代码 javascript:
- loadSpread(node) {
- api.loadSheetTemp(node.filePath).then((res) => {
- if (res.code == 200) {
- let jsonStr = JSON.stringify(res.data);
- this.spread.fromJSON(JSON.parse(jsonStr));
- }
- });
- },
复制代码 导出:
- let file = event.target.files[0];
- let excelIO = new IO();
- excelIO.open(file, (json) => {
- let workbookObj = json;
- splitExcelSheet(this.spreadTemp, workbookObj).then((res) => {
- this.importSplitJson(res, loading);
- });
- });
复制代码- export function splitExcelSheet(spreadInit, workbookObj) {
- return new Promise((resolve, reject) => {
- let list = [];
- spreadInit.fromJSON(workbookObj);
- let sheetCount = spreadInit.getSheetCount();
- for(let i = 0; i < sheetCount; i++) {
- spreadInit.fromJSON(workbookObj);
- for(let j = sheetCount - 1; j >= 0; j--) {
- if(j != i) {
- spreadInit.removeSheet(j);
- }
- }
- let fileName = spreadInit.getSheet(0).name();
- list.push({ fileName: fileName, file: spreadInit.toJSON() });
- }
- resolve(list.filter(item => item.fileName != "Evaluation Version"));
- });
- }
复制代码
|
最佳答案
查看完整内容
您可以用https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html 这个demo测试一下
均可以正常导入
所以可以排除文件本身的问题了。因为上面试用的是SpreadJS最新版本,所以建议您试一下升级至新版本,借此来排除版本问题。
|