Добавление строки в таблицу слов python
Обновлено: 21.11.2024
В таблице Microsoft Office Word ячейки организованы в строки и столбцы. Вы можете использовать метод Add объекта Rows для добавления строк в таблицу и метод Add объекта Columns для добавления столбцов.
Применимо к: информация в этом разделе относится к проектам уровня документа и проектам надстроек VSTO для Word. Дополнительные сведения см. в разделе Возможности, доступные в зависимости от приложения Office и типа проекта.
Примеры настройки на уровне документа
Следующие примеры кода можно использовать в настройке на уровне документа. Чтобы использовать эти примеры, запустите их из класса ThisDocument в своем проекте. В этих примерах предполагается, что документ, связанный с вашей настройкой, уже содержит по крайней мере одну таблицу.
Этот код выполняется только в проектах, созданных с использованием любого из следующих шаблонов проектов:
Документ Word 2013
Шаблон Word 2013
Документ Word 2010
Шаблон Word 2010
Если вы хотите выполнить эту задачу в проекте любого другого типа, необходимо добавить ссылку на сборку Microsoft.Office.Interop.Word, а затем использовать классы из этой сборки для добавления строк и столбцов в таблицы. Дополнительную информацию см. в разделе Практическое руководство. Работа с приложениями Office с помощью основных сборок взаимодействия и Справочник по основным сборкам взаимодействия Word 2010.
Чтобы добавить строку в таблицу
Используйте метод Add, чтобы добавить строку в таблицу.
Чтобы добавить столбец в таблицу
Используйте метод Add, а затем используйте метод DistributeWidth, чтобы сделать все столбцы одинаковой ширины.
Примеры надстроек VSTO
Следующие примеры кода можно использовать в надстройке VSTO. Чтобы использовать примеры, запустите их из класса ThisAddIn в вашем проекте. В этих примерах предполагается, что в активном документе уже есть хотя бы одна таблица.
Этот код выполняется только в проектах, созданных с помощью шаблонов надстроек Word VSTO.
Если вы хотите выполнить эту задачу в проекте любого другого типа, необходимо добавить ссылку на сборку Microsoft.Office.Interop.Word, а затем использовать классы из этой сборки для добавления строк и столбцов в таблицы. Дополнительную информацию см. в разделе Практическое руководство. Работа с приложениями Office с помощью основных сборок взаимодействия и Справочник по основным сборкам взаимодействия Word 2010.
Чтобы добавить строку в таблицу
Используйте метод Add, чтобы добавить строку в таблицу.
Чтобы добавить столбец в таблицу
Используйте метод Add, а затем используйте метод DistributeWidth, чтобы сделать все столбцы одинаковой ширины.
Таблицы обычно используются в документах Word для организации информации в виде сетки. Они позволяют суммировать информацию в виде строк и столбцов. В этой статье вы узнаете, как программно создать таблицу в документах Word с помощью Python. Кроме того, в статье будет рассказано, как создавать вложенные таблицы или клонировать существующую таблицу в документах Word.
Библиотека Python для создания таблиц в документах Word
Для работы с таблицами в документах Word мы будем использовать Aspose.Words for Python. Библиотека предназначена для динамического создания документов Word и управления ими из приложений Python. Вы можете установить библиотеку из PyPI, используя следующую команду pip.
Создание таблицы в документе Word на Python
Ниже приведены шаги по созданию таблицы в документе Word DOCX с помощью Python.
- Создайте объект класса Document.
- Создайте объект класса DocumentBuilder.
- Запустите таблицу с помощью метода DocumentBuilder.start_table() и получите ссылку на таблицу в объекте.
- Вставьте ячейку с помощью метода DocumentBuilder.insert_cell().
- Задайте форматирование ячейки с помощью свойства DocumentBuilder.cell_format.
- Установите автоподгонку с помощью метода auto_fit(aw.tables.AutoFitBehavior.FIXED_COLUMN_WIDTHS).
- Установите выравнивание ячейки.
- Вставьте текст в ячейку с помощью метода DocumentBuilder.write().
- Повторяйте вставку ячеек и текста в ячейки по мере необходимости.
- Завершить строку после завершения вставки ячеек.
- Завершить таблицу после вставки всех строк.
- Сохраните документ Word с помощью метода Document.save().
В следующем примере кода показано, как создать таблицу в документах DOCX с помощью Python.
Ниже приведен снимок экрана таблицы, которую мы создали с помощью приведенного выше примера кода.
Таблица в документе Word DOCX
Создание вложенной таблицы в документе Word на Python
Aspose.Words for Python также позволяет легко создавать вложенные таблицы. Другими словами, вы можете создать новую таблицу в ячейке таблицы. Ниже приведены шаги для создания вложенной таблицы в файле Word DOCX.
- Создайте объект класса Document.
- Создайте объект класса DocumentBuilder.
- Запустите таблицу с помощью метода DocumentBuilder.start_table() и получите ссылку на таблицу в объекте.
- Вставьте ячейку с помощью метода DocumentBuilder.insert_cell() и получите ссылку на ячейку в объекте.
- Вставьте текст в ячейку с помощью метода DocumentBuilder.write().
- Повторяйте вставку ячеек и текста в ячейки по мере необходимости.
- Завершить таблицу после вставки всех строк.
- Переместите элемент управления внутрь нужной ячейки с помощью метода DocumentBuilder.move_to(Cell.first_paragraph).
- Создайте другую таблицу, вставив ячейки, и закройте таблицу, когда закончите.
- Сохраните документ Word с помощью метода Document.save().
В следующем примере кода показано, как создать вложенную таблицу в документе DOCX с помощью Python.
Ниже приведен вывод приведенного выше примера кода.
Вложенная таблица в документе Word
Клонировать существующую таблицу в документе Word на Python
Вы также можете клонировать существующую таблицу в документе Word. Ниже приведены шаги для выполнения этой операции.
- Загрузите документ, используя класс Document.
- Получить ссылку на таблицу в объекте с помощью метода Document.get_child(NodeType.TABLE, int, boolean).as_table().
- Вызовите метод clone(True).as_table(), используя объект таблицы, и получите ссылку на клонированную таблицу в другом объекте.
- Вставьте клонированную таблицу с помощью метода Table.parent_node.insert_after().
- Вставьте пустой абзац между таблицами, используя метод Table.parent_node.insert_after(Paragraph(Document), Table).
- Сохраните документ Word с помощью метода Document.save().
В следующем примере кода показано, как клонировать таблицу в документе Word DOCX с помощью Python.
На следующем снимке экрана показана клонированная таблица в документе Word.
Клонированная таблица в документе Word
Кажется, я уже упоминал ранее, что документация Python может сбить с толку новичков. Возможно, найдутся люди, которые могут посмотреть на эту страницу с объектами таблицы и полностью понять, что происходит.
Я не из тех людей. Мне нужны визуальные эффекты.
Синтаксис
Прежде чем мы начнем, небольшая уборка. Нам нужно получить документ, который мы редактируем, в переменную, чтобы сделать скрипт читабельным. Просто вставьте его во что-то под названием doc.
После этого мы можем ссылаться на таблицы по порядковому номеру. Имейте в виду, что Python начинает считать с нуля, поэтому, чтобы вызвать первую таблицу в вашем документе и распечатать все, что находится в первой ячейке, вам придется написать что-то вроде этого:
Сразу увидев это, я подумал: что произойдет, если разделить ячейку в таблице? Как он ведет подсчет?
Python распознает эту разделенную ячейку как собственный новый столбец или строку и сдвигает все. Вот так:
Вы можете получить содержимое ячейки из оболочки Python с помощью функции печати, но меня больше интересовало, как редактировать текст в ячейках. Это выглядит так:
Совершенно непрактичный пример для справки
Вот вещь, которую вам никогда не придется делать. Но он показывает, как можно подключить цикл while для автоматизации таблиц. Весело, правда?
Как выполнить итерацию по каждой ячейке таблицы
(чуть более практичный пример)
(чуть более практичный пример)
Чуть более полезная вещь, которую можно сделать, — просмотреть каждую ячейку в существующей таблице.
для строки в doc.tables[0].rows:
для ячейки в row.cells:
используйте переменную ячейки для запуска скрипта в каждой ячейке
У этого есть множество приложений — вы можете использовать регулярные выражения, чтобы найти определенный текст в таблице и изменить или полностью удалить его. Или вы можете импортировать модуль random и получить шикарную таблицу с автозаполнением случайных чисел. Пример из пяти строк:
Сегодня я узнал о словах Таблицы изменения данных, Знания о вставке изображений. Слово Таблица не то же самое, что абзац обычной статьи. Теперь я буду использовать свою форму школьного отпуска, чтобы взять вас для анализа один за другим. < /p>
1. Импортировать библиотеку python-docx
остаться cmd Импортировать библиотеку из
Вот формат отпускного листа
2. Читать файл docx
Вот модуль импорта
Теперь у нас есть один docx Объект
3. Получить форму
Используйте следующий метод для получения таблицы
Использовать .tables Получить все таблицы в документе, Возвратить список, Поскольку форма автора является первой, То есть для таблиц[0].
4. Получает ячейку таблицы
docx Forms, excel То же самое, свойства столбца, но он не отображается, поэтому мы должны сами выяснить расположение элемента. Есть несколько способов получить количество строк и столбцов в таблице.
После получения количества строк и столбцов в таблице вы можете работать с соответствующими элементами. Возвращаемое значение количества строк и столбцов здесь является целым числом, дайте результат следующим образом. Далее мы используем количество строк. и столбцы для определения положения элементов. Обратите внимание, что все элементы находятся в 0 Start. Метод выбора вызова
Например, нам нужно определить позицию класса в примечании об отпуске выше, Мы видим класс в первой строке, Следовательно, строка отмечена как 0, В первой позиции столбца, Следовательно, это указано как 0, поэтому его координаты .cell (0,0). То же самое справедливо и для других методов элементов. Могут быть случаи, когда выбор неправильный, Вы можете попробовать это самостоятельно, Проверить правильность местоположения.
Возможно, вы правы в абзацах[] Все еще есть некоторые сомнения относительно нашего выбора. Теперь я воспользуюсь для объяснения примерами из бланка отпуска.
Вы можете видеть последний квадрат формы отпуска выше , Есть время для заполнения , Время общее с другими абзацами (2,1) Эта позиция , Перед ним три строки , Значит он в средние абзацы[3] Местоположение
5. Добавить текст к выбранному элементу
Мы выбрали имя последнего шага, Далее, добавляем к нему элементы, Использование для
Вы также можете установить шрифт для добавляемого контента
6. Вставить картинку в таблицу
Моя школа должна указать причины подачи заявления на отпуск с картинками. Итак, как нам заполнить форму с картинками, оставайтесь docx Использование вставки таблицы в файл
То же самое относится и к вставке в таблицу , Это всего лишь еще один шаг для определения позиции вставки , Или возьмем в качестве примера вышеприведенный бланк отпуска , Изображение должно быть вставлено на следующей строке причины запроса на отпуск , Значит, это место
Добавить операцию с изображением
7. Сохраните документ
8. Незначительное дополнение: дата и время
Я использую только дату и время. Получить текущее время в библиотеке. Установить библиотеку даты и времени.
Как получить текущее время
иметь доступ к dt.year,dt.month,dt.day Получить текущий год отдельно , месяц , Япония
Наконец, полный код выглядит следующим образом. Вот трюк для получения изображений. Перетащите изображение прямо на путь ввода. Эй.
Эффект показан на картинке. Картинки можно вставлять, не удобно показывать. Я не заполнил здесь код лица, утвердившего отпуск и класс, если интересно, можете попробовать заполнить его самостоятельно. Если вы хотите попросить отпуск, пожалуйста, дайте мне знать, я отправлю его вам. Я только изучаю python, в статье могут быть всевозможные ошибки, надеюсь, вы сможете указать, спасибо.
Сообщество SDK является нейтральным сообществом. Существует множество знаний о внешнем интерфейсе. У них много API. Есть обучающиеся разработчики ИИ. будущее, Когда элементы сойдутся воедино, Давайте вместе откроем свой разум и вместе построим нашу профессию 、 интересно 、 Ценное сообщество разработчиков, помогите разработчикам осознать свою самооценку !
Читайте также: