Просмотр полной версии : node js googlesheets
Приветствую, использую библиотеку google-spreadsheet для node js, у меня есть таблица с Именами и к этим именам привязан возраст и город проживания.
Как я могу реализовать такую функцию что бы условно говоря я искал по столбцу Name определённого пользователя и мог изменить у этого пользователя допустим возраст, или город
Вот таблица
https://forum.antichat.xyz/attachments/28385347/
Был очень благодарен за помощь!
ну примерно так
JavaScript:
const
rows
=
await
sheet
.
getRows
(
)
;
const
userRow
=
rows
.
find
(
row
=>
row
.
Name
===
'Alex'
)
;
userRow
.
Age
=
200
;
userRow
.
Country
=
'Muhosransk'
;
await
userRow
.
save
(
)
;
const userRow = rows.find(row => row.Name === 'Alex');
Ничо не находит, undefined
MrDorlik
29.09.2023, 20:49
const userRow = rows.find(row => row.Name === 'Alex');
Ничо не находит, undefined
мб так
JavaScript:
const
rows
=
await
sheet
.
getRows
(
)
;
const
userRow
=
rows
.
find
(
row
=>
row
.
A
===
'Alex'
)
;
userRow
.
B
=
200
;
userRow
.
C
=
'Muhosransk'
;
await
userRow
.
save
(
)
;
мб так
JavaScript:
const
rows
=
await
sheet
.
getRows
(
)
;
const
userRow
=
rows
.
find
(
row
=>
row
.
A
===
'Alex'
)
;
userRow
.
B
=
200
;
userRow
.
C
=
'Muhosransk'
;
await
userRow
.
save
(
)
;
Тоже
MrDorlik
29.09.2023, 20:53
Тоже
у тебя таблица то есть? в переменную sheet ее запиши
у тебя таблица то есть? в переменную sheet ее запиши
Есть, дело в том что тут нету массива в общем, то-есть обычным find обойтись нельзя, смори у меня есть код такой
JavaScript:
[CODE]
const
doc
=
new
GoogleSpreadsheet
(
'Код доступа'
,
serviceAccountAuth
)
;
await
doc
.
loadInfo
(
)
;
// loads document properties and worksheets
const
sheet
=
doc
.
sheetsByIndex
[
0
]
;
const
rows
=
await
sheet
.
getRows
(
)
;
// preload
await
sheet
.
loadCells
(
'A1:'
+
String
.
fromCharCode
(
65
+
sheet
.
columnCount
-
1
)
+
rows
.
length
+
1
)
;
// подгружаем все нужные ячейки( ascii - код буквы "А" + количество столбцов - подгружаем к примеру от A1 до C8)
for
(
let
i
=
0
;
i
Он идеально работал до обновы либы, но сейчас мне выдаётся следующия ошибка:
Error: At least one cell must have something to update
MrDorlik
29.09.2023, 21:03
[QUOTE="Kecer"]
Есть, дело в том что тут нету массива в общем, то-есть обычным find обойтись нельзя, смори у меня есть код такой
JavaScript:
const
doc
=
new
GoogleSpreadsheet
(
'Код доступа'
,
serviceAccountAuth
)
;
await
doc
.
loadInfo
(
)
;
// loads document properties and worksheets
const
sheet
=
doc
.
sheetsByIndex
[
0
]
;
const
rows
=
await
sheet
.
getRows
(
)
;
// preload
await
sheet
.
loadCells
(
'A1:'
+
String
.
fromCharCode
(
65
+
sheet
.
columnCount
-
1
)
+
rows
.
length
+
1
)
;
// подгружаем все нужные ячейки( ascii - код буквы "А" + количество столбцов - подгружаем к примеру от A1 до C8)
for
(
let
i
=
0
;
i
JavaScript:
[CODE]
sheet
.
saveUpdatedCells
(
[
cell
]
)
;
вместо 15 строки попробуй
JavaScript:
sheet
.
saveUpdatedCells
(
[
cell
]
)
;
Бля братан ты просто лучший спасибо 😍😍😍
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot