Добавление значений объектов в правильные столбцы списка SharePoint - получение пустых строк SharePoint - PullRequest
2 голосов
/ 06 марта 2020

Я анализирую файл Excel (показывает информацию об отпуске), и он возвращается как объект массива. Я хочу добавить каждое значение объекта в правильный столбец списка SharePoint.

Я делаю запрос POST - эта часть работает. SharePoint распознает, что два элемента (две строки из файла test.xlsx) были загружены, но когда я ссылаюсь sh в списке SP, оба элемента остаются пустыми:

enter image description here

Похоже, что каждый объект массива добавляется в столбец, но 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...