|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Импорт таблицы HTML (тэг TABLE) в таблицу AutoCAD
Регистрация: 06.04.2009
Сообщений: 702
|
||
Просмотров: 17199
|
|
||||
На чём пишешь и какой автокад?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
аке, пиши сам.
п.с. возможно будет интересно глянуть. Я сначала из html конвертирую в xml и уж потом в то, что мне нужно. По указанной ссылке код конвертирования из html в xml. Был код по созданию табличного объекта на основании xml-кода (т.е. второй шаг), но сейчас найти не смог - где-то уже похерил...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 08.10.2010 в 13:35. |
||||
![]() |
|
||||
т.е. изначально данные представлены всё же не в html, а в xml? Если "да", то всё до безобразия просто (правда нужно уточнить структуру xml, т.к. в таблице могут быть объединённые ячейки + выравнивание + границы). я преобразовывал в такой xml формат, который по структуре похож разметке xaml. И по ней создавал таблицы.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Импортировать из HTML проблематично. HTML может быть написан "грязно" (особенно если таблица откуда-то "из ворда"). Результаты могут быть непредсказуемы. Что, например, будете делать с атрибутами форматирования? С внешними стилями, или со стилями "in-line"? А если будут незакрытые теги?
Вот XML - другое дело. Там строгие правила, соответственно и разборка проще. У меня все таблицы, рисуемые в AutoCAD в виде Table хранятся описанными в XML. Там и форма и данные. Надо внимательней разбираться с источником данных для таблиц и уж в HTML их точно не стоит преобразовывать. |
|||
![]() |
|
||||
Цитата:
Кстати, может сможете подсказать - я решал задачу, при которой юзер выделяет в excel нужную таблицу, нажимает Ctrl + C, открывает AutoCAD, нажимает Ctrl + V и в результате вставляется таблица AutoCAD, оформленная должным образом (стиль таблицы/цвета/толщины/стиль текста/размеры/формулы/объединения ячеек и т.п.). Парсер мне пришлось писать потому, что из буфера обмена я не нашёл, как можно считать таблицу сразу в формате xml, но смог получить в формате html, после чего и вынужден был заниматься парсингом. Вы в курсе, как можно из буфера обмена, в данной ситуации, получить таблицу сразу в формате xml, минуя html?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 08.10.2010 в 15:18. |
||||
![]() |
|
||||
Регистрация: 06.04.2009
Сообщений: 702
|
Перефразирую:
Здравствуйте. Подскажите сущестует ли утилита или функция для импорта таблицы XML в таблицу AutoCAD? Разметка произвольная, имена элементов XML соответствуют HTML (тэг TABLE и его комманда)
__________________
КазнитьØнельзяØпомиловать:eek: |
|||
![]() |
|
||||
Насколько я знаю - не существует, но если структура xml-файла известна (а не "произвольная разметка"), то написать такое самому не должно составить труда.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Цитата:
ps работает в 2008 версии, в других не пробовал. |
|||
![]() |
|
||||
Я знаю об этом, но это не то, что нужно.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Вот пример описания простейшей: Код:
Но удобнее иметь имя row_1...row_x вместо tr - в имени элемента уже заложен счетчик, это упрощает работу. Но у XML важная особенность - наличие атрибутов. Это облегчает работу. Таким образом структура никак не произвольная. Произвольным может быть, например, количество строк данных. Сами таблицы могут быть любыми, но описанными по строгим правилам. Для рисования таблиц пришлось сделать около 25 дополнительных функций. Все это на LISP. И только для рисования собственно таблиц - там множество нюансов. А еще десяток функций разбирают XML, получая значения заданных атрибутов по заданному пути в дереве элементов. И COM-сервер, который физически читает файл и возвращает значения атрибутов. Что касается специальной вставки, то это ручная работа. Не программирование. |
|||
![]() |
|
||||
>ShaggyDoc
А мой вопрос проигнорирован?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Вот я знаю, что находится в буфере, если, например, из Word или HTML-документа скопировать таблицу. Если вставить "это" в какой-то редактор, который отображает и оформление, и код (например, редакторы TinyMCE или CKEditor в CMS сайтов), то видна вся гадость, занесенная из буфера. Например, ради двух строчек полезного кода заносится до десятка страниц бесполезной и даже вредной информации о всяких стилях с префиксами "mso:". Цитата:
Вообще-то пример хороший, для демонстрации принципиальных возможностей. Например, как можно было бы вставить таблицу в какой-то "документ вообще". Однако мы имем дело с конкретными требования к оформлению таблиц в чертежах по стандартам. А это, например, "толщина" линий шапок, горизонтальных разграфок, высота текстов и прочее. Форма таблицы может быть любая, а оформление - стандартное. Вставив таблицу в AutoCAD, потом можно долго её настраивать. В итоге окажется проще её нарисовать вручную. А где оформление зашито в HTML? 1. В таблице стилей, которая может быть во внешнем файле, а в тегах HTML будут только атрибуты классов или ID. 2. В таблице стилей, встроенной в файл. 3. "Чисто конкретно" в каждом теге HTML. Для инженерной работы это все не годится. Если речь об обемене данными с рисованием таблиц в AutoCAD, то тут и более простые пути есть. Например, обычный текстовый CSV. Это простейший вариант, но в нем не опишешь саму структуру и оформление таблиц. XML позволяет совместить структуру и данные, причем никак не ограничен стандартными именами элементов и атрибутов. |
|||
![]() |
|
||||
Цитата:
Цитата:
![]() Цитата:
В общем я вас понял и вопрос снят. ![]()
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
|
|||
![]() |
|
||||
Повторюсь зачем:
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
|||||
Цитата:
Мой вопрос был про извлечение данных из буфера обмена - не нужно софистикой заниматься выдвигая такую фигню: Цитата:
Вы бы ещё спросили, не предаю ли я анафеме мышку и клавиатуру... Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
|||||
![]() |
|
||||
Для тех, кому интересно, как программно получить таблицу MS Excel из буфера обмена, причём получить в формате xml - смотреть решение здесь.
>Сергей Дубина А как такой вариант? ![]() Решение построено построено по подобию WPF-разметки.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Регистрация: 06.04.2009
Сообщений: 702
|
Я поясню свою мотивацию, у меня есть надстройка в MS Excel, хочу переписать в exe-шник с сохранением в HTML, причины пояснять не буду. Недокументированные данные (не вошедшие в таблицу) будут храниться там-же в теге XML.
На предложенной странице: Ecли не трудно ссылку на .Net можно?
__________________
КазнитьØнельзяØпомиловать:eek: |
|||
![]() |
|
||||
А если всё таки пояснить, зачем именно в HTML, почему сразу не сохранять в XML?
Цитата:
п.с. А вы что, на .net пишете? ![]()
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Регистрация: 06.04.2009
Сообщений: 702
|
Цитата:
VB6
__________________
КазнитьØнельзяØпомиловать:eek: |
|||
![]() |
|
||||
А Html-то зачем? У Васи Пупкина на компьютере из софта только браузер?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
>Сергей Дубина
Тогда без меня - подобный подход считаю неразумным, а соответственно и решение под него писать не вижу смысла - сугубо ИМХО.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Не забуду. Хотя не понимаю, как она тебе поможет в твоём случае. C# - это далеко не VB6.
Кроме того - таблицы-то мною создаются в AutoCAD, а не в браузере.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Ищу работу Регистрация: 12.06.2010
Сообщений: 35
|
Всёж-таки правильно экспортировать из Exel в XML, а визуализировать в броузере с помощью таблицы стилей CSS или XSL трансформации. Эти же XML-данные можно будет визуализировать в автокаде с помощью спец-плагина (правда, его еще надо написать). Выглядит удобно.
Вот толстая книга по XSLT: Дуг Тидуэлл. XSLT, 2-е издание. Издательство Символ-плюс, 2010 г., 960 стр. Вдруг пригодится. Если уж совсем никак, то экспортируйте из Exel в XHTML - это HTML разметка по сути, только оформленная строго по правилам XML. Т.е. все теги строго закрыты, вложенность не "перехлестывается", один корневой элемент. Такой файл можно попытаться разбирать обычным XML-парсером (правда, лично я не пробовал). Вот толстая книга по HTML(XHTML): Муссиано Ч., Кеннеди Б. HTML и XHTML. Подробное руководство, 6-е издание. Символ-плюс, 2008 г., 752 стр. |
|||
![]() |
|
||||
+1
+1
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Более чем уверен, что такие плагины есть. Более того - один из них я сейчас как раз модифицирую (изменяю свою первую версию), внося изменение в логику его работы.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Нет конечно, я же не извращенец
![]()
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Цитата:
XSL не использовал никогда, если нужно проверить XML на корректность - предпочитаю XSD.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Цитата:
Мои пользователи предпочитают создавать ведомости и спецификации в екселе (у них под это дело на VBA куча макросов). С таблицами екселя работать быстрее и удобней, чем с автокадовскими, однако в конце концов результат (ведомости и спецификации) должны быть помещены в чертежи автокада. Юзеры выделяют в екселе нужную таблицу и жмут Ctrl+C, затем переходят в нужный чертёж и жмут Ctrl + V и вставляют таблицу в Автокад. Причём таблица вставляется в виде автокадовской таблицы, полностью оформленной как нужно (размеры/цвета/текстовый стили и т.п.). В момент вставки объекта из буфера обмена, я программно определяю, что вставляемый объект является таблицей Excel, преобразую её в формат xml, после чего определяю её название (Title), т.е. выясняю, что это за ведомость/спецификация. Далее программно лезу в др. xml-файл, в котором определены шаблоны разных спецификаций и ведомостей, нахожу нужный, создаю по нему заготовку Table и затем заливаю в неё данные. В таком шаблоне заранее прописаны высота строк, ширины колонок, полностью оформленная шапка, формулы и т.п. При желании шаблоны легко правятся/модифицируются. Из расчётов на чайников - можно выбрать таблицу в чертеже, и на основе этой таблицы автоматом сгенерировать xml-шаблон ведомости. Работа с браузером меня не интересует.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
От слова "реактор" у меня начинает дёргаться глаз...
![]() В .Net это называется событием. Да, я отлавливаю событие вставки чего-либо из буфера обмена, и на основании того, что в этом буфере содержится принимаю решение что делать.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Можно, но код экспорта в xml занимает 5 строк, как я уже показывал и работать с XML в данной ситуации гораздо удобнее, во всяком случае мне.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Только не воспринимай это как оскорбление в свой адрес, но в этой строке и зарыта одна из основных бед программирования - программа пишется под задачу - а не под то, как удобней "отмазаться" - согласись интерфейс переноса данных через буфер обмена (выберите там, вставьте туда) это не есть правильный путь. У excel'а есть прекрасная компонентная модель (оно-же как и у автокада) из которой можно вытащить все что угодно (или попросить через нее, что-то сделать пользователя), да это подольше разрабатывать нежели взять готовую xml библиотеку - но с твоим-то опытом в .Net...
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Ты сам же и ответил на свою реплику. Задачей и было реализовать корректный копипаст через буфер обмена - выше я писал об этом неоднократно.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Вот задача:
Цитата:
Цитата:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
>Дима_
читать внимательней пост #10: Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Согласен, но мне почему-то кажется, что пользователь делал так - потому что не знает другого метода, и он бы с удовольствием делал это более "дружелюбным" методом. Вам же для того чтоб обои рабочего стола поменять не надо изображение в буфер обмена взять и куда-то там его вставить...
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Цитата:
Пример не в "тему".
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,175
|
Вменяемый, "дружелюбный" копипаст из Ёкселя в Акад (и наоборот, желательно) - мечта многих пользователей, в т.ч. моя. Стандартные инструменты - связь таблицы Акада с Екселем и экспорт таблицы Акада в Ексел-совместимый файл - неудобны для множества мелких разовых задач
![]() ![]() От Atable, к сожалению, приходится отходить ![]() Цитата:
Короче: hwd> Если действительно выставишь свой плагин на продажу, и цена не превысит разумных пределов - я второй в очереди на покупку (после Сергея ![]() Последний раз редактировалось kp+, 13.10.2010 в 17:23. |
|||
![]() |
|
||||
Дримландия Регистрация: 22.09.2010
Дримландия
Сообщений: 2
![]() |
есть БД на сервере, в ней есть таблица называется text весом около 150 метров, а в этой таблице есть столбик называется content который мне и нужен и который занимает почти весь размер таблицы.
собственно вопрос, как мне экспортировать только столбик content? когда я экспотртирую всю таблицу через phpMyAdmin то у меня файл с ней открывается час минимум, а извлечь нужный столбик из неё и вовсе очень проблематично. прошу откликнутся кто знает.
__________________
прайс на электромонтажные работы |
|||
![]() |
|
||||
Есть такое слово - "SQL":
select content from text order by content Код:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 15.10.2010 в 09:23. |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Таблицы из Excel в AutoCAD вставляются неполностью | Nikolay_N | AutoCAD | 23 | 07.09.2019 21:12 |
В русской версии AutoCAD 2010 SP1 32-bit файл Acad.PGP содержит ошибки. | hwd | Баги и пожелания в Autodesk | 21 | 21.04.2010 20:27 |
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk | KSI | AutoCAD | 1 | 14.09.2009 15:59 |
как с помощью vba начертить линию | vasyavip | Программирование | 77 | 09.10.2008 23:17 |