Python Excel Копировать данные без формул - PullRequest
0 голосов
/ 16 сентября 2018

Я пытался скопировать и вставить некоторые данные из 2 разных книг Excel с Win32, но в целевом wb у меня всегда есть формулы источника. Код работает, но мне нужно только значение.

wb0 = excel.Workbooks.Open(pathSource)
ws0 = wb0.Worksheets('wsSource')
wb2 = excel.Workbooks.Open(pathTarget)
ws2 = wb2.Worksheets('wsTarget')
ws2.Name = 'NB DATA'
ws0 = wb0.Worksheets('wsTarget')
ws0.Range(datacopied).Copy(ws2.Range(datacopied))
wb2.Save()

1 Ответ

0 голосов
/ 17 сентября 2018

Оглядываясь назад на ваши предыдущие вопросы, я вижу, что вы спрашивали об этом раньше, и у него было больше примера кода в вопросе.

Я думаю, что вы можете искать это:

wb0 = excel.Workbooks.Open(pathSource)
ws0 = wb0.Worksheets('wsSource')
wb2 = excel.Workbooks.Open(pathTarget)
ws2 = wb2.Worksheets('wsTarget')
ws2.Name = 'NB DATA'
ws0 = wb0.Worksheets('wsTarget')
# ws0.Range(datacopied).Copy(ws2.Range(datacopied))
ws2.Range(datacopied).Value = ws0.Range(datacopied).Value
wb2.Save()

Принятие значения диапазона, а не просто копирование его содержимого - это то, что вам нужно.

РЕДАКТИРОВАТЬ: Имейте в виду, это предполагает, что ваша переменная datacopied представляет собой некоторую строку, которая представляетОтличный диапазон ячеек.Я предположил это, основываясь на вашем предыдущем вопросе.

...