Учитывая, что у меня есть лист 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);
}
}