Как таблицу из автокада перенести в эксель
Перейти к содержимому

Как таблицу из автокада перенести в эксель

  • автор:

Копирование, перенос или экспорт таблицы

Перенос таблицы в другой чертеж или лист либо ее экспорт в виде электронной таблицы или текста в файл популярного формата.

Копирование таблицы

Используйте один из способов ниже для копирования общих таблиц, таблиц конфигурации или сгибов.

  • Выберите таблицу в графическом окне, щелкните правой кнопкой мыши и выберите пункт «Копировать». Откройте целевой чертеж или лист чертежа, щелкните правой кнопкой в графическом окне и нажмите «Вставить».
  • В браузере чертежа щелкните правой кнопкой по таблице из активного листа и выберите пункт «Копировать». Щелкните правой кнопкой мыши по другому листу чертежа в браузере и выберите пункт «Вставить».
  • В браузере чертежа щелкните правой кнопкой по таблице из активного листа и выберите пункт «Копировать». Откройте целевой чертеж, щелкните правой кнопкой мыши по листу в браузере и выберите «Вставить».

Перенос таблицы на другой лист чертежа

Выберите таблицу в браузере чертежа и перетащите ее на другой лист.

Экспорт данных во внешний файл

  1. Щелкните правой кнопкой мыши в таблице и выберите «Редактировать».
  2. При необходимости настройте высоту строки и укажите направление построения таблицы.
  3. Щелкните «Экспорт» и укажите имя файла для сохранения таблицы во внешнем файле. При необходимости укажите формат, выбрав для параметра «Тип файла» значение XLS, CSV или TXT.
  4. В диалоговом окне «Экспорт таблицы» нажмите кнопку «Параметры».
  5. В диалоговом окне «Параметры экспорта Excel» укажите данные для экспорта.
    • Выберите столбцы для экспорта.
    • Выберите параметры форматирования Excel для применения к данным.

Из Автокада в Эксель: экспорт таблиц/спецификаций

Рассмотрим, как таблицу из Автокада перенести в Эксель. Удобно работать с этими программами на основе установления двусторонней связи с помощью команды «Связать данные».

Иногда возникает необходимость экспортировать таблицу, созданную непосредственно в AutoCAD в Excel. Рекомендуем ознакомиться с видеоуроком про управление AutoCAD из Excel.

Как перевести спецификацию из Автокада в Эксель

Полное обучение: «AutoCAD на 100%»

Экспорт таблицы из Автокада в Эксель

Перенести табличные данные из Автокад в Excel достаточно просто. Давайте рассмотрим, как экспортировать таблицу из Автокада в Эксель. Вам потребуется выполнить 2 шага:

  1. Выделить таблицу, нажать ПКМ и выбрать «Экспорт».
  2. Указать имя файла и место его сохранения на компьютере.

Пример перевода из Автокада в таблицу Excel

В открывшемся диалоговом окне следует указать имя файла и место его сохранения на компьютере.

Быстрый способ, как перевести таблицу из Автокада в Эксель

При внесении изменений в таблицу, файл нужно перезаписывать. Такая связь Excel и AutoCAD не очень удачная – в табличный редактор заносятся только данные, а форматирование – сбивается (шрифты, границы таблицы и т.д.).

Иногда может понадобиться вставка чертежа AutoCAD в Excel. Это можно сделать по аналогии с переносом графического материала в Word.

Если вы создаете чертеж с нуля и там должны быть табличные данные, то есть смысл работать сначала в Excel, в котором можно легко автоматизировать расчеты, а затем, через связь данных, импортировать их в AutoCAD.

Из автокада в эксель и из эксель в автокад

В процессе разработки проектной документации переодически возникают задачи импорт и экспорта данных из эксель в автокад и обратно. Для решения этих задач на текущий момент накопился довольно разнообразный инструментарий. Причем далеко не всегда первое и вроде бы очевидное решение — правильно. Постараемся разобраться в этом вопросе:

Самый быстрый и простой способ экспорта таблиц из AutoCAD в Excel состоит из двух действий:

Из автокада в эксель — экспорт

  • Выделяем таблицу и нажимаем правую клавишу мыши, в появившемся окне выбираем «Экспорт».
  • В диалоговом окне «Экспорт данных» выбираем папку, куда мы хотим сохранить таблицу. Задаем таблице имя и сохраняем. Готово!

В папке, которую мы указали, создался файл Excel с таблицей. Таким образом, мы выгрузили данные из таблицы Автокада в Эксель и можем их дальше редактировать. Но если необходимо, чтобы эта таблица редактировалась и в Автокаде, и в Экселе, то этот вариант не подходит, т.к. он не связывает эти таблицы. Кроме того, такой экспорт данных заносит в Эксель только сами данные, а шрифт, границы таблицы и прочее сбивается.

Импорт в Эксель

Во вкладке «Рисование» выбираем «Таблица».

В диалоговом окне «вставка таблицы» ставим галочку напротив «На основе связи с данными» и на этой же строчке кликаем на кнопку «Вызов диалогового окна Диспетчера связей с данными».

В появившемся диалоговом окне необходимо Создать новую связь с данными Excel.

Вводя имя связи с данными лучше отобразить суть данных (название таблицы).

После чего требуется указать путь к файлу с заданными данными. В диалоговом окне «Выбор связи данных» появилась новая строчка с указанными именем. Выбираем ее и нажимаем ОК.

Снова нажимаем ОК в окне «Вставка таблицы» и вставляем таблицу кликая на рабочем поле Автокада.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Как ТЕКСТ перенести из AutoCad в Excel?

добрый вечер! подскажите как можно текст из Autocad закинуть в excel по строкам одного столбца? на чертеже множество текстовых объектов (чисел) (около 6000), z=0.

__________________
ВлГУ, АД-103
Просмотров: 18084

acad_newbie
Посмотреть профиль
Найти ещё сообщения от acad_newbie

LISP, C# (ACAD 200[9,12,13,14])

Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,712
Версия AutoCAD? Лично я подобную задачу решал бы лиспом, но тут раздел другой.

__________________
Моя библиотека lisp-функций

Обращение ко мне — на «ты».
Все, что сказано — личное мнение.

Кулик Алексей aka kpblc
Посмотреть профиль
Посетить домашнюю страницу Кулик Алексей aka kpblc
Найти ещё сообщения от Кулик Алексей aka kpblc

Регистрация: 10.12.2010
Сообщений: 29
в свое время мне помог _dataextraction
Регистрация: 30.08.2009
Сообщений: 189

как то озадачивался этим вопросом вот названия ПО, что нарыл:

что-то еще было, но вспомнить не получается

__________________
Timeo Danaos et dona ferentes 😮
Последний раз редактировалось KennyMckormik, 23.12.2010 в 09:36 .

KennyMckormik
Посмотреть профиль
Найти ещё сообщения от KennyMckormik

Регистрация: 02.10.2008
Сообщений: 3,684
VBA макрос. Выбирает объекты «Текст», «МТекст», вставляет в excel файл в один столбец..

txt_to_excel.dvb (48.0 Кб, 2480 просмотров)

__________________
. Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка — ложка понарошку,
А по правде, — это лом!

Регистрация: 27.05.2015
Санкт-Петербург
Сообщений: 10
Сообщение от AlexV
VBA макрос. Выбирает объекты «Текст», «МТекст», вставляет в excel файл в один столбец..
Прошу прощения, а подскажите как активировать команду после загрузки данного макроса ?
Регистрация: 14.08.2014
Сообщений: 7,070
johny100, очевидно есть разные варианты, самый простой (наверное) — в редакторе нажать «run»
Регистрация: 25.03.2023
Сообщений: 1
Сообщение от AlexV
VBA макрос. Выбирает объекты «Текст», «МТекст», вставляет в excel файл в один столбец..

Здравствуйте!
По описанию как раз то, что я и искал, очень здравая вещь, но как он работает может быть есть гайд какой-то?
При запуске макроса, я выделяю объекты и всё что он делает — пишет количество текстовых файлов.

В буфер обмена ничего не кладёт.
Подскажите, как, всё таки, эту информацию переправить в эксель с помощью данного макроса?

Регистрация: 28.01.2009
Сообщений: 25

В VetCAD есть текстовый редактор, через который можно выбрать несколько текстовых объектов для редактирования, потом скопировать их из редактора и вставить в excel. Объекты вставляются в excel в один столбец

—— добавлено через ~5 мин. ——

Сообщение от Leshqa

Здравствуйте!
По описанию как раз то, что я и искал, очень здравая вещь, но как он работает может быть есть гайд какой-то?
При запуске макроса, я выделяю объекты и всё что он делает — пишет количество текстовых файлов.

В буфер обмена ничего не кладёт.
Подскажите, как, всё таки, эту информацию переправить в эксель с помощью данного макроса?

У меня этот макрос работает, если запущен какой-нибудь файл excel (именно файл, а не запущенный сеанс excel с несохраненной «Книгой 1») . Тогда создается новый файл с текстовым массивом из AutoCAD.

Балка на балку, кирпич на кирпич.

Регистрация: 09.10.2007
Сообщений: 4,795

C сайта акада:
Преобразуйте текстовые объекты в один объект Mtext, войдя в командную строку TXT2MTXT и выделив текстовые объекты.
Для таблицы ограничьте столбцы запятыми.
Дважды щелкните объект MText и скопируйте текст (Ctrl + C)
Теперь запустите Microsoft Excel и вставьте данные в одну ячейку. Весь текст должен быть вставлен в одну ячейку.
Выделите ячейку с текстом, затем перейдите на вкладку «Данные» и нажмите «Текст в столбцы».
Появится окно под названием Мастер преобразования текста в столбцы.
На первой странице выберите С разделителями и нажмите Далее
На второй странице задайте разделители. выберите «Запятая» и нажмите Далее
Нажмите кнопку Готово!

__________________
. переменная FILEDIA создана для привлечения пользователей к форумам.
Регистрация: 28.06.2023
Сообщений: 8
Сообщение от AlexV
VBA макрос. Выбирает объекты «Текст», «МТекст», вставляет в excel файл в один столбец..

так в чём же все таки проблема? Пишет только количество текстовых файлов, а в эксель не копирует.
Сохраненный файл экселя открыт. Пробовал экселевский файл сохранять и с расширением xls и xslm и xlsx ничего не помогает.

Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 293
Сообщение от igor_klim
так в чём же все таки проблема?

Укажите версии и разрядность офиса и акада.

Сообщение от igor_klim
Сохраненный файл экселя открыт.

Код должен создавать свой новый файл.

Сообщение от igor_klim
а в эксель не копирует.

Рискну предположить, что эксель запускается в фоновом режиме и вы его просто не видите. Попробуйте добавить в явном виде отображение экселя, код должен быть таким:

Option Explicit Sub main() Dim acSelSet As AcadSelectionSet, txt_obj As AcadEntity, txtarr(), i As Long Dim objSelectionSet As AcadSelectionSet Dim strPromt As String ' запрос у пользователя Dim strKeys As String Dim strReply As String strPromt = "Выбрать объекты [Все объекты / выБрать рамкой](Все объекты):" strKeys = "В Б" ThisDrawing.Utility.Prompt (vbCrLf) Call ThisDrawing.Utility.InitializeUserInput(0, strKeys) strReply = ThisDrawing.Utility.GetKeyword(strPromt) If strReply = "" Then strReply = "В" Set acSelSet = SelectOnlyOnScreen(strReply) If acSelSet.Count = 0 Then ThisDrawing.Utility.Prompt ("Текст в чертеже отсутствует..") End End If ReDim txtarr(0 To acSelSet.Count - 1) i = 0 For Each txt_obj In acSelSet txtarr(i) = txt_obj.TextString i = i + 1 Next Dim Excel As Object On Error Resume Next 'Вызов приложения Set Excel = GetObject(, "Excel.Application") If Err <> 0 Then Err.Clear Set Excel = CreateObject("Excel.Application") If Err <> 0 Then MsgBox "Нельзя загрузить Excel.", vbExclamation End End If End If Excel.Application.Visible = True Excel.Application.Workbooks.Add Excel.range("A1:A" & i).Value = Excel.Application.WorksheetFunction.Transpose(txtarr) MsgBox i & " текстовых объектов" End Sub Private Function SelectOnlyOnScreen(str) As AcadSelectionSet Dim objSelSet As AcadSelectionSet Dim objSelCol As AcadSelectionSets Dim intType(3) As Integer Dim varData(3) As Variant Set objSelCol = ThisDrawing.SelectionSets For Each objSelSet In objSelCol If objSelSet.Name = "Blck" Then objSelSet.Delete Exit For End If Next Set objSelSet = ThisDrawing.SelectionSets.Add("Blck") intType(0) = -4 varData(0) = "" If str <> "В" Then objSelSet.SelectOnScreen intType, varData Else objSelSet.Select acSelectionSetAll, , , intType, varData End If Set SelectOnlyOnScreen = objSelSet End Function
Dinoxromniy
Посмотреть профиль
Найти ещё сообщения от Dinoxromniy

Регистрация: 02.10.2008
Сообщений: 3,684
Сообщение от igor_klim

так в чём же все таки проблема? Пишет только количество текстовых файлов, а в эксель не копирует.
Сохраненный файл экселя открыт. Пробовал экселевский файл сохранять и с расширением xls и xslm и xlsx ничего не помогает.

Качнул свой макрос. На удивление, несмотря на 13 лет, прошедших с момента выкладывания, работает. Записал видос, в архиве приложен.
Создается новый файл и в него копируется текст, а не в открытый активный. Если при первом запуске макроса эксель не был запущен, то возможно, запускается «невидимкой», поэтому «в эксель не копирует». Можно либо через диспетчер задач посмотреть и убить все процессы экселя, потом открыть эксель, потом запустить макрос.
Ну, или как Dinoxromniy советует, отрихтовать код, «. Visible = True» добавить..

текст в эксель.rar (5.36 Мб, 83 просмотров)

__________________
. Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка — ложка понарошку,
А по правде, — это лом!

Регистрация: 28.06.2023
Сообщений: 8
Сообщение от Dinoxromniy
Рискну предположить, что эксель запускается в фоновом режиме и вы его просто не видите.

Всё верно. Запускался эксель в фоновом режиме. Потом только увидел что более 20 раз мой текст копировался в новые листы экселя.
Обнаружил это когда нашел Lisp для подобной задачи. Он то мне и запустил все мои фоновые окна.
Лисп нашел здесь https://www.cadstudio.cz/freeware
называется Txt2XLS

Регистрация: 28.06.2023
Сообщений: 8
Сообщение от Dinoxromniy
Попробуйте добавить в явном виде отображение экселя, код должен быть таким:

Спасибо большое! Теперь не надо даже зпускать Эксель, ни до внедрения кода, ни после. Он сам загружается когда выделишь текст в акаде.
Но вот теперь другой вопрос: В автокаде тексты стояли в столбик в одном порядке а в экселе совсем в другом (в разброс). Как сделать чтобы в экселе они выстраивались в том же порядке?

Регистрация: 02.10.2008
Сообщений: 3,684
Сообщение от igor_klim

Спасибо большое! Теперь не надо даже зпускать Эксель, ни до внедрения кода, ни после. Он сам загружается когда выделишь текст в акаде.
Но вот теперь другой вопрос: В автокаде тексты стояли в столбик в одном порядке а в экселе совсем в другом (в разброс). Как сделать чтобы в экселе они выстраивались в том же порядке?

Внести в код изменения. К примеру, снимать с объектов текст/мтекст координаты, заносить вместе со значениям текста в динамический массив, потом сортировать массив по значению координат, потом уже собрать строку для экселя..

__________________
. Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка — ложка понарошку,
А по правде, — это лом!

идущий по граблям

Регистрация: 26.05.2005
Сообщений: 5,057
Сообщение от igor_klim
Как сделать чтобы в экселе они выстраивались в том же порядке?
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 293
Сообщение от igor_klim
В автокаде тексты стояли в столбик в одном порядке а в экселе совсем в другом (в разброс)

Если выделять рамкой за один раз, то в набор они попадут в четком обратном порядке, не в разнобой.
Соответственно, можно либо вручную написать формулу в экселе, чтобы реверсировать порядок,

либо допустим вывести через код VBA в столбце В значения в обратном порядке.
Повторюсь — важно выделять текст единственным выделением рамки, либо же учитывать, что при нескольких выделениях рамкой каждое выделение попадет в обратном порядке.

Sub main() Dim acSelSet As AcadSelectionSet, txt_obj As AcadEntity, txtarr(), i As Long Dim objSelectionSet As AcadSelectionSet Dim strPromt As String ' запрос у пользователя Dim strKeys As String Dim strReply As String strPromt = "Выбрать объекты [Все объекты / выБрать рамкой](Все объекты):" strKeys = "В Б" ThisDrawing.Utility.prompt (vbCrLf) Call ThisDrawing.Utility.InitializeUserInput(0, strKeys) strReply = ThisDrawing.Utility.GetKeyword(strPromt) If strReply = "" Then strReply = "В" Set acSelSet = SelectOnlyOnScreen(strReply) If acSelSet.count = 0 Then ThisDrawing.Utility.prompt ("Текст в чертеже отсутствует..") End End If ReDim txtarr(0 To acSelSet.count - 1) i = 0 For Each txt_obj In acSelSet txtarr(i) = txt_obj.textString i = i + 1 Next Dim Excel As Object On Error Resume Next 'Вызов приложения Set Excel = GetObject(, "Excel.Application") If Err <> 0 Then Err.Clear Set Excel = CreateObject("Excel.Application") If Err <> 0 Then MsgBox "Нельзя загрузить Excel.", vbExclamation End End If End If Excel.Application.Visible = True Excel.Application.Workbooks.Add Dim j As Integer, k As Integer For j = 1 To i Excel.Range("B" & j).value = txtarr(i - k - 1) k = k + 1 Next j Excel.Range("A1:A" & i).value = Excel.Application.WorksheetFunction.Transpose(txtarr) MsgBox i & " текстовых объектов" End Sub Private Function SelectOnlyOnScreen(str) As AcadSelectionSet Dim objSelSet As AcadSelectionSet Dim objSelCol As AcadSelectionSets Dim intType(3) As Integer Dim varData(3) As Variant Set objSelCol = ThisDrawing.SelectionSets For Each objSelSet In objSelCol If objSelSet.Name = "Blck" Then objSelSet.Delete Exit For End If Next Set objSelSet = ThisDrawing.SelectionSets.Add("Blck") intType(0) = -4 varData(0) = "" If str <> "В" Then objSelSet.SelectOnScreen intType, varData Else objSelSet.Select acSelectionSetAll, , , intType, varData End If Set SelectOnlyOnScreen = objSelSet End Function
Dinoxromniy
Посмотреть профиль
Найти ещё сообщения от Dinoxromniy

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *