javascript - 如何为(导出到 .xlsx)SheetJS js-xlsx : https://github. com/SheetJS/js-xlsx 的单元格数据设置公式

标签 javascript spreadsheet xlsx jszip

引用这个例子https://github.com/SheetJS/js-xlsx/blob/master/tests/write.js ,它在 xlsx 电子表格中没有任何单元格公式的实现 我尝试使用 cell.f = "=SUM(A1+B1)"作为单元格 C1 和 cell.v 作为总和值 3。 但是我没有成功。对于导出的文件,当在 MS Excel 中打开时,单元格仅包含数据,当被选中时,没有显示我在 f(x) 字段中分配的任何公式。

谁能给我发一个实际使用函数/属性“.f”和“cellFormula”的例子

会很有帮助。我只需要一个带有静态值的工作示例。

最佳答案

单元格对象具有属性 f,这是您要使用的公式。在这里您可以看到所有选项:https://github.com/SheetJS/js-xlsx#cell-object .

这里是一个使用公式的例子:

var xlsx = require('xlsx');

//workBook class
function Workbook() {
    if(!(this instanceof Workbook)) return new Workbook();
    this.SheetNames = [];
    this.Sheets = {};
}

var exportBook = new Workbook();

var worksheet = {};

var cell = {f: 'A2+A3'};

var cellRef = xlsx.utils.encode_cell({r:0, c:0});

var range = {s:{r: 0, c: 0},
            e: {r: 10, c: 10}};



worksheet[cellRef] = cell;
worksheet['!ref'] = xlsx.utils.encode_range(range);

exportBook.SheetNames.push('test');
exportBook.Sheets.test = worksheet;


xlsx.writeFile(exportBook, 'formula sample.xlsx');

这里,A1 应该有公式 A2+A3。

希望对您有所帮助:)

关于javascript - 如何为(导出到 .xlsx)SheetJS js-xlsx : https://github. com/SheetJS/js-xlsx 的单元格数据设置公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29520596/

相关文章:

google-sheets - 按周、月汇总结果以使用工作表绘图

spreadsheet - Google Doc 电子表格中的 IF 和条件 SUM

java - 尝试用密码保护中等大小的 XLSX 工作簿 (~=80MB) 时,Apache POI 抛出 OOM 错误

Excel::Writer::XLSX 在公式中添加了一个意想不到的@(第 2 部分)

grails - 如何使用Grails Excel导入插件读取列值?

javascript - react 提示没有出现?

JavaScript:四舍五入到小数位,但去掉多余的零

javascript - Rails 动态渲染部分内容

perl - 在 Perl 中使用 Excel::XLSX 解析电子表格

javascript - jQuery 中的 .wrap() (多个)