Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 0
Регистрация: 05.04.2020
Сообщений: 69

Python-docx Копирование таблиц в ворде

03.10.2020, 17:33. Показов 6804. Ответов 0

Студворк — интернет-сервис помощи студентам
Здравствуйте. Уже месяц как осваиваю питон. Пишу свою программу, в которой будет функция экспорта данных в вордовский файл. Для выполнения этой цели я обратился к Python-docx. Вообще мало источников об редактировании таблиц в ворде. Попытки создать вордовский файл из кода с нуля не увенчались успехом.
  • Я так и не смог изменить форматирование ячейки без добавления параграфа, который автоматически занимает лишнюю строчку
  • Также не смог найти информацию как изменить ориентацию текста в ячейке.
В итоге я создал в ручную шаблон таблицы и уже из кода его заполняю. Однако в зависимости от количества объявленных пользователем классов меняется и размер таблицы. То есть у меня не фиксированное количество столбцов. Я бы хотел копировать и вставлять столбцы с уже отредактированном форматированием, но и с этим я не справился.
По итогу я решил не делать больше шести колонок на странице, и я создал шесть шаблонов с одной, двумя и тд колонок.
С копированием таблиц тоже оказалось не всё так просто. К примеру при работе в одном и том же файле всё хорошо
Python
1
2
3
4
5
6
7
8
9
10
11
12
import docx
 
from copy import deepcopy
 
document = docx.Document(r'Шаблоны/Шаблон.docx')
template = document.tables[0]
 
paragraph = document.add_paragraph()
new_tbl = deepcopy(template._tbl)
paragraph._p.addnext(new_tbl)
 
document.save('table.docx')
А при попытке копирнуть из одного файла в другой что-то идет не по плану. Все границы таблицы становятся не видимыми и, наверное, меняется меж строчный интервал. В итоге, если таблица-оригинал занимала одну страницу, то копия все две

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import docx
 
from copy import deepcopy
 
 
template = docx.Document(r'Шаблоны/Шаблон.docx')
doc =  docx.Document()
 
tbl = template.tables[0]._tbl
new_tabl= deepcopy(tbl)
 
paragraph = doc.add_paragraph()
paragraph._p.addnext(new_tabl)   
 
doc.save('table.docx')
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.10.2020, 17:33
Ответы с готовыми решениями:

Python-docx Копирование форматирования ячеек
Здравствуйте. Уже месяц как осваиваю питон. Пишу свою программу, в которой будет функция экспорта данных в вордовский файл. Для выполнения...

Генерация таблиц в ворде
Существует таблица(квитанция) созданная в ексел потом скопирована в ворд. Задача стоит такая: нужна в цикле заполнять некоторые ячейки....

Форматирование в Ворде и раскраска таблиц
как изменить шрифт ф программно создаваемом документе типа ворд, чтобы у разных ячеек был разный шрифт? это можно сделать только через...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.10.2020, 17:33
Помогаю со студенческими работами здесь

Парс таблиц из документа docx
Уже создавал тему, решением стала библиотека docx Щас не могу разобраться, как спарсить таблицу? В документе есть одна простая...

Парсинг docx таблиц с заголовком
Здравствуйте, есть такой код: from docx.api import Document def parser(k): document = Document(1.docx) ...

Docx python
Всем привет еще раз, подскажите как создать таблицу в word с разделением ячейки

Python-docx
from docx import Document from docx.shared import Pt document = Document() style = document.styles font = style.font ...

Python docx
Доброго дня! Есть ворд файл у файла структура такая Текст Картинка1 Таблица1 Текст Другой текст Текст Картинка2 Таблица2 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru