Excel от Python (openpyxl) выпуск - PullRequest
0 голосов
/ 10 января 2020

Я новичок в программировании и пытаюсь создать небольшое приложение, в котором мне нужно будет скопировать и вставить значения в «стилизованную» таблицу Excel Excel, но когда я тестировал первые команды, я запускал первую проблема:

Когда я получаю значение ячейки из «worksheet1» и вставляю его в пустую ячейку из того же рабочего листа («worksheet1»), стилы рабочего листа sh как бы портятся (просто исчезают граничные ячейки) , и это не хорошо, потому что эта таблица будет напечатана, и мне нужно, чтобы эти граничные ячейки остались.

Я сделал видео с проблемой: https://www.youtube.com/watch?v=DCZAwYp4zvE

Я пробовал:

  • Изменение каталога файлов
  • Копирование файла Excel
  • Создание того же, но в других рабочих листах
  • Я скачал оригинальный excel из inte rnet, так что я подумал, что это была проблема несовместимости. Я даже создал новую рабочую книгу и продублировал из 0 исходную рабочую книгу (границы, тот же шрифт, размер шрифта и т. Д. c), но не исправил ее.

Код:

from openpyxl import load_workbook

file="Test.xlsx"

wb = load_workbook(file)
ws = wb["COMPRA_DIRECTA"]

ws["A80"] = ws["A13"].value


wb.save(file)

Ссылка на оригинальный Excel и скрипт: Ссылка

Я использую:

Excel 2016 Openpyxl 2.5.14 Windows

1 Ответ

0 голосов
/ 10 января 2020

Я использовал кодировку, и она отлично работает для меня. Я установил Openpyxl 2.6.4 и использую LibreOffice Calc на Ubuntu 18.04.

Попробуйте этот код, он наверняка будет работать для вас:

from openpyxl import load_workbook
file="Test.xlsx"
wb = load_workbook(file)

# grab the active worksheet
ws = wb["COMPRA_DIRECTA"]

# Data can be assigned directly to cells
ws['A80'] = ws["A13"].value.encode("utf8")

# Save the file
wb.save("sample.xlsx")
...