zhao
2021-06-24 02ca96debc6056275d58e55d97f7885a195542d0
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
31
32
33
34
35
36
37
38
39
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
 
namespace HH.WMS.Utils.ExcelLibrary.BinaryFileFormat
{
    public partial class FORMULA : Record
    {
        public STRING StringRecord;
 
        public object DecodeResult()
        {
            byte[] bytes = BitConverter.GetBytes(Result);
            if (bytes[6] == 0xFF && bytes[7] == 0xFF)
            {
                switch (bytes[0])
                {
                    case 0: //string value
                        if (StringRecord != null)
                        {
                            return StringRecord.Value;
                        }
                        else
                        {
                            break;
                        }
                    case 1: //Boolean value
                        return Convert.ToBoolean(bytes[2]);
                    case 2: //error value
                        return ErrorCode.ErrorCodes[bytes[2]];
                    case 3: //empty cell
                        return string.Empty;
                }
            }
            return BitConverter.ToDouble(bytes, 0);
        }
    }
}