Запрет XlSX от удаления пустого свойства объекта при преобразовании листа Excel в массив объектов - PullRequest
0 голосов
/ 02 января 2019

enter image description here Учитывая, что у меня есть лист Excel с конкретными столбцами: Адрес, CategoryTypeName, FatherName, FirstName, ImageUrl, LastName, MilitaryNumber, RegimentName, TitleName, WithWeapon

, учитывая, что 'titleName' пусто из листа Excel. проблема в том, что библиотека xlsx js удаляет нулевые / неопределенные свойства.
Поэтому, когда я отправляю этот объект бэкэнду, свойство (titleName) не существует, так как оно удаляется из xlsx, поэтому мой код вылетает с ошибкой объекта, для которого не установлена ​​ссылка на объект как я могу предотвратить это?

// Код C #

public class MilitaryPerson
    {

        public string ImageUrl { get; set; }
        public string MilitaryNumber { get; set; }
        public string FirstName { get; set; }
        public string FatherName { get; set; }
        public string LastName { get; set; }
        public string TitleName { get; set; }
        public string MainCategoryName { get; set; }
        public string CategoryTypeName { get; set; }
        public string RegimentName { get; set; }
        public string Address { get; set; }
        public string ChemiseSize { get; set; }
        public string SuitSize { get; set; }
        public bool WithWeap { get; set; }
        public string WithWeapon { get; set; }
        public int? ForceID { get; set; }
        public bool IsImported { get; set; }
    }

//JS Code


        var Result = [];
        var ExcelToJSON = function () {
            this.parseExcel = function (file) {
                var reader = new FileReader();

                reader.onload = function (e) {
                    var data = e.target.result;
                    var workbook = XLSX.read(data, {
                        type: 'binary'
                    });
                    workbook.SheetNames.forEach(function (sheetName) {
                        // Here is your object
                        var XL_row_object =XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
                        var json_object = JSON.stringify(XL_row_object);

                        if (JSON.parse(json_object).length > 0) {
                            Result = JSON.parse(json_object);
                            Result = Result.splice(1, Result.length);
                            //console.log(Result);
                        }
}
...