【问题标题】:Reference error: "Workbook" is not defined参考错误:未定义“工作簿”
【发布时间】:2017-02-17 11:05:38
【问题描述】:

我想使用下一个java脚本代码:

function dumpVal(file) {
if (file !=null) {
var wb = new Workbook.create(file);
var sheet = wb.getSheet("Tabelle1");
for (myrow = 1; !isCellEmpty(sheet, myrow, 0); myrow++) {
dataset.setColumnValue("A",getNumericValue(sheet,myrow,0));
dataset.storeResultRow();
}
}
return;
}

但是当我编译它时,我收到下一条错误消息:ReferenceError: "Workbook" is not defined. 谁能告诉我我做错了什么?

【问题讨论】:

  • 定义对象Workbook的代码在哪里?
  • 试试这样--> var wb = new Workbook().create(file);
  • @DeepakSharma — 如果未定义 Workbook,则将其作为函数调用将无济于事。 (并且不要在 cmets 中回答,使用答案作为答案)。
  • 我假设他包含了 excel 库。 () 是一种创建对象的方法。我只是让他试试。
  • @DeepakSharma — () 不是创建对象的方法,而是调用函数的方法。由于Workbook 是undefined,所以它不是一个函数,所以它不起作用。

标签: javascript birt


【解决方案1】:

您收到以下代码行的错误:

var wb = new Workbook;

在您创建工作簿(新工作簿)时,您引用了一个名为“工作簿”的类。此时您的脚本没有一个名为 Workbook 的类。

解决方案: 如果包含该类及其命名,您应该检查您的脚本。 也许这个类稍后会被初始化!

出于调试目的,您可以尝试在前一行创建类:

class Workbook{ }

如果您现在因为 Workbook 需要一个名为“create”的方法而收到错误,那么您知道该类只是丢失了。

【讨论】:

    【解决方案2】:

    我假设你想从你的 web 应用程序中解析 excel 文件,你使用的库是为 excel 而不是 web 应用程序开发插件:

    Excel JavaScript API 编程概述

    本文介绍如何使用 Excel JavaScript API 为 Excel 2016 构建加载项。它介绍了使用 API 的基础关键概念,例如 RequestContext、JavaScript 代理对象、sync()、Excel.run( )和加载()。本文末尾的代码示例向您展示了如何应用这些概念。

    来源: https://dev.office.com/docs/add-ins/excel/excel-add-ins-javascript-programming-overview

    如果你想在你的 web 应用程序中解析 Excel,我建议使用这个库:

    https://github.com/SheetJS/js-xlsx

    我没用过所以不能保证,但是你可以找类似的库。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-14
    相关资源
    最近更新 更多