xiejun
2023-08-23 205056bc17023dd44e6d262cfe78b6e146ee2f20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* [MS-XLSB] 2.6.4.1 */
function parse_BrtCalcChainItem$(data, length) {
    var out = {};
    out.i = data.read_shift(4);
    var cell = {};
    cell.r = data.read_shift(4);
    cell.c = data.read_shift(4);
    out.r = encode_cell(cell);
    var flags = data.read_shift(1);
    if(flags & 0x2) out.l = '1';
    if(flags & 0x8) out.a = '1';
    return out;
}
 
/* 18.6 Calculation Chain */
function parse_cc_bin(data, opts) {
    var out = [];
    var pass = false;
    recordhopper(data, function hopper_cc(val, R, RT) {
        switch(R.n) {
            case 'BrtCalcChainItem$': out.push(val); break;
            case 'BrtBeginCalcChain$': break;
            case 'BrtEndCalcChain$': break;
            default: if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R.n);
        }
    });
    return out;
}
 
function write_cc_bin(data, opts) { }