Я работаю с API Google Docs, чтобы вставить таблицу, а затем заполнять каждую ячейку текстом. Таблица вставлена правильно, но когда я вставляю текст в ячейки, весь контент появляется в первой ячейке, например:
my output < /p>
Что я делаю: < /p>
Я создаю таблицу, используя Inserttable. /> Я пытаюсь вставить текст в каждую ячейку, используя InsertText. < /li>
< /ol>
Вот соответствующий код, который я использую: < /p>
const insertTableWithText = async () => {
if (!docId) return;
try {
const doc = await gapi.client.docs.documents.get({ documentId: docId });
const endIndex = doc.result.body.content.reduce((max, el) => {
return el.endIndex > max ? el.endIndex : max;
}, 1);
const tableData = [
["Header 1", "Header 2"],
["Value 1", "Value 2"]
];
await gapi.client.docs.documents.batchUpdate({
documentId: docId,
resource: {
requests: [{
insertTable: {
rows: tableData.length,
columns: tableData[0].length,
location: { index: endIndex - 1 }
}
}]
}
});
await new Promise(resolve => setTimeout(resolve, 1000));
const updatedDoc = await gapi.client.docs.documents.get({ documentId: docId });
let tableElement = null;
for (let i = updatedDoc.result.body.content.length - 1; i >= 0; i--) {
if (updatedDoc.result.body.content.table) {
tableElement = updatedDoc.result.body.content;
break;
}
}
if (!tableElement) throw new Error("Table not found");
const requests = [];
tableElement.table.tableRows.forEach((row, rowIndex) => {
row.tableCells.forEach((cell, colIndex) => {
const paragraphIndex = cell.content[0].paragraph.elements[0].startIndex;
requests.push({
insertText: {
text: tableData[rowIndex][colIndex],
location: { index: paragraphIndex }
}
});
});
});
if (requests.length > 0) {
await gapi.client.docs.documents.batchUpdate({
documentId: docId,
resource: { requests }
});
}
} catch (err) {
console.error("Error inserting table with text:", err);
}
};
< /code>
Проблема:
вместо каждого значения, входящего в его соответствующую ячейку, все значения вставляются в первую ячейку, один за другим (как если бы индекс вставки повторно используется или перекрывается). < /p>
Как я правильно определяю правильный индекс, чтобы информировать текст в каждую отдельную ячейку?>
Подробнее здесь: https://stackoverflow.com/questions/795 ... of-table-h
Google Docs API: текст из InsertText появляется в первой ячейке таблицы - как правильно вставить текст в каждую ячейку? ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение