Я анализирую файл Excel (показывает информацию об отпуске), и он возвращается как объект массива. Я хочу добавить каждое значение объекта в правильный столбец списка SharePoint.
Я делаю запрос POST - эта часть работает. SharePoint распознает, что два элемента (две строки из файла test.xlsx) были загружены, но когда я ссылаюсь sh в списке SP, оба элемента остаются пустыми:
Похоже, что каждый объект массива добавляется в столбец, но SharePoint отклоняет его (имеет слишком много значений или что-то в этом роде). Какие-нибудь мысли? Как я могу убедиться, что заголовок отпуска указан в столбце Holidays
, а место отпуска - в столбце Location
, et c.?
JS:
reader.onload = function(e) {
let data = e.target.result;
let workbook = XLSX.read(data, { type: 'binary' });
workbook.SheetNames.forEach((sheetName) => {
let XL_row_object = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName]);
console.log("xl: ", XL_row_object) // You can see this at the bottom of the post
if (XL_row_object) {
$.each(XL_row_object, function(value) {
// this.value = $(value)
let getTitle = XL_row_object.map(x => x.Title)
let getOffice = XL_row_object.map(x => x.Office)
let getStartTime = XL_row_object.map(x => x["Start Time"])
let getEndTime = XL_row_object.map(x => x["End Time"])
addItemToSPList(getTitle, getOffice, getStartTime, getEndTime)
})
} else {
console.log('Parsed JSON does not appear to have necessary values')
}
})
} // reader.onload
// some other code
}
function addItemToSPList(value) {
let holidaysColumns = {
"__metadata":{"type": "SP.Data.holidaysListItem"},
"Title": value.getTitle,
"Location": value.office, // did this instead of getOffice to see if anything changed
// FYI, the column in SP is "Location"
"Start Time": value.getStartTime,
"End Time": value.getEndTime
};
let listName = "holidays";
return fetch(
// etc
Фрагмент консоли:
xl:(2) [{…}, {…}]
0: {Title: "Festivus", Office: "London", Start Time: 43895, End Time: 43895, __rowNum__: 1}
1: {Title: "Founder's Week", Office: "London", Start Time: 43897, End Time: 43900, __rowNum__: 2}
length: 2
__proto__: Array(0)