HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 29.09.2023, 19:33
Kecer
Участник форума
Регистрация: 05.12.2020
Сообщений: 241
С нами: 2862489

Репутация: 18
По умолчанию

Приветствую, использую библиотеку google-spreadsheet для node js, у меня есть таблица с Именами и к этим именам привязан возраст и город проживания.

Как я могу реализовать такую функцию что бы условно говоря я искал по столбцу Name определённого пользователя и мог изменить у этого пользователя допустим возраст, или город

Вот таблица



Был очень благодарен за помощь!
 
Ответить с цитированием

  #2  
Старый 29.09.2023, 20:43
Kecer
Участник форума
Регистрация: 05.12.2020
Сообщений: 241
С нами: 2862489

Репутация: 18
По умолчанию

Цитата:
Сообщение от MrDorlik  

ну примерно так

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
 
Ответить с цитированием

  #3  
Старый 29.09.2023, 20:49
MrDorlik
Постоянный
Регистрация: 20.02.2022
Сообщений: 946
С нами: 2226127

Репутация: 68


По умолчанию

Цитата:
Сообщение от Kecer  

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
(
)
;
 
Ответить с цитированием

  #4  
Старый 29.09.2023, 20:52
Kecer
Участник форума
Регистрация: 05.12.2020
Сообщений: 241
С нами: 2862489

Репутация: 18
По умолчанию

Цитата:
Сообщение от MrDorlik  

мб так

JavaScript:





Код:
const
rows
=
await
sheet
.
getRows
(
)
;
const
userRow
=
rows
.
find
(
row
=>
row
.
A
===
'Alex'
)
;
userRow
.
B
=
200
;
userRow
.
C
=
'Muhosransk'
;
await
userRow
.
save
(
)
;

Тоже
 
Ответить с цитированием

  #5  
Старый 29.09.2023, 20:53
MrDorlik
Постоянный
Регистрация: 20.02.2022
Сообщений: 946
С нами: 2226127

Репутация: 68


По умолчанию

Цитата:
Сообщение от Kecer  

Тоже
у тебя таблица то есть? в переменную sheet ее запиши
 
Ответить с цитированием

  #6  
Старый 29.09.2023, 20:58
Kecer
Участник форума
Регистрация: 05.12.2020
Сообщений: 241
С нами: 2862489

Репутация: 18
По умолчанию

Цитата:
Сообщение от MrDorlik  

у тебя таблица то есть? в переменную 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
 
Ответить с цитированием

  #7  
Старый 29.09.2023, 21:03
MrDorlik
Постоянный
Регистрация: 20.02.2022
Сообщений: 946
С нами: 2226127

Репутация: 68


По умолчанию

[QUOTE="Kecer"]

Есть, дело в том что тут нету массива в общем, то-есть обычным 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

JavaScript:





Код:
sheet
.
saveUpdatedCells
(
[
cell
]
)
;
 
Ответить с цитированием

  #8  
Старый 29.09.2023, 21:09
Kecer
Участник форума
Регистрация: 05.12.2020
Сообщений: 241
С нами: 2862489

Репутация: 18
По умолчанию

Цитата:
Сообщение от MrDorlik  

вместо 15 строки попробуй







JavaScript:





Код:
sheet
.
saveUpdatedCells
(
[
cell
]
)
;

Бля братан ты просто лучший спасибо 😍😍😍
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.