Статус: Member
Группы: Registered
Зарегистрирован: 31.03.2010(UTC) Сообщений: 20 Откуда: Ганновер
Уважаемые разработчики! Я, как и все, читающие это сообщение, люблю SMATH. Но Excel - отличная программа! Мне, как инженеру, часто приходиться выбирать коэффициенты из нормативных таблиц. В экселе построил на многие таблицы отличные выборки. Нужно.. нет: очень хочется, чтоб... smath страничка с некими входящими данными выполняла запрос в excel файл, и возвращала некий результат. К слову, у меня есть табличка, с 4мя ячейками для входящих данных, и с определенной также ячейкой, где хранится результат. И много таких таблиц. Я например вижу такой вид запроса (не примите меня за цыпленка, который курицу учить пытается) : запрос(имя екзель-файла, вектор-матрица-первого-входящего-параметра[3]("Имя листа" или номер листа, "имя ячейки" или ее координаты, имя переменной), [еще возможные вектор-матрицы входящих параметров], вектор-матрица-результата[2]("Имя листа" или номер листа, "имя ячейки" или ее координаты) ) По-моему будет очень полезна и популярна.. Желаю даже принять участие и поспособствовать! Жду коментариев..
Статус: Member
Группы: Registered
Зарегистрирован: 31.03.2010(UTC) Сообщений: 20 Откуда: Ганновер
Что-то я промахнулся. Прошу перенести в "предложения". Спасибо.
Статус: Administration
Группы: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Зарегистрирован: 11.07.2008(UTC)
Сообщений: 912
Сказал «Спасибо»: 640 раз Поблагодарили: 262 раз в 102 постах
Здравствуйте. Сделать плагин, который бы имел две функции: 1) получение данных из ячейки Excel; 2) запись данных в ячейку Excel - не слишком сложно. Сегодня попозже попробую его создать. Результаты опубликую здесь. С уважением, Андрей Ивашов. P.S.: Тему перенёс в "Предложения".
Статус: Administration
Группы: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Зарегистрирован: 11.07.2008(UTC)
Сообщений: 912
Сказал «Спасибо»: 640 раз Поблагодарили: 262 раз в 102 постах
Текущий статус :
Примечания :
Для работы с Excel файлами не требуется установка Excel или любого другого компонента пакета Microsoft Office.
Высокая производительность за счёт того, что COM не используется.
Статус: Administration
Группы: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Зарегистрирован: 11.07.2008(UTC)
Сообщений: 912
Сказал «Спасибо»: 640 раз Поблагодарили: 262 раз в 102 постах
Плагин готов к тестированию/использованию:
ExcelCollab.0_89.Plugin.Bin.zip (Дата: 14.08.2010 . Размер: 49,34KB ) - * Для копирования .dll файла из архива в папку "plugins" в директории, куда установлена SMath Studio.
С уважением, Андрей Ивашов.
Отредактировано пользователем 15 августа 2010 г. 3:24:45(UTC)
| Причина: Не указана
Статус: Member
Группы: Registered
Зарегистрирован: 31.03.2010(UTC) Сообщений: 20 Откуда: Ганновер
Спасибо, Андрей! Как всегда оперативное решение! А вот без ком - так даже интересно, как вы этого добились. Функции работают, но: Есть следующие замечания: 1. После exportCell формулы заменяются на константные значения. То-есть: создал в таблицу со значением 5 в ячейке А1 и с формулой в ячейке А2: А1*2 (что выдало мне 10). Сохранил, закрыл. Делаю exportCell в А1 значение допустим 3, получаю результат 1. Проверяю таблицу: в А1 стоит значение 3, а в А2 стоит та же 10ка, причем формулы там больше нет. 2. С форматом .xlsx не работают... У меня офис 2010 и последний smath. ПС: А как насчет того, чтобы внедрить таблицу как оле-объект в сматн-файл. Тут конечно не всегда нужно: мне удобнее иметь один файл.xls с таблицами СНиПов и вокруг него несколько сматн-решений, ссылающихся на эту таблицу как на БД. А таблицу я для наглядности картинкой вставляю. Но кому-то может быть удобнее иметь таблицу внутри сматн-файла. Какие у вас по этому поводу размышления? С благодарностями и уважением, Александр
Статус: Administration
Группы: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Зарегистрирован: 11.07.2008(UTC)
Сообщений: 912
Сказал «Спасибо»: 640 раз Поблагодарили: 262 раз в 102 постах
С COM interop есть большая проблема производительности - к примеру получение значения одной ячейки занимает в среднем около секунды, что, конечно, не допустимо. Именно потому пришлось искать альтернативное решение, а с альтернативами приходят и неожиданности вроде пропадания формул после изменения листа. Нашёл так же это:
http://www.gemboxsoftwar...preadsheet/Pricelist.htm - однако там и цены зашкаливают. Самому же заниматься разбором экселевских файлов, естественно, некогда да и бессмысленно.
По OLE планов пока нет. Вернусь к этому после того, как реализую возможность создавать контролы (элементы управления) на листе с помощью плагинов.
P.S.: С созданным плагином, как минимум, теперь можно считывать данные из xls файлов. Xlsx, возможно, скоро тоже будут поддерживаться.
С уважением.
Статус: Advanced Member
Группы: Developers, Registered Зарегистрирован: 28.08.2009(UTC) Сообщений: 127
Сказал(а) «Спасибо»: 19 раз Поблагодарили: 4 раз в 4 постах
Начиная с Office 2007 используется OXML. Также ms предоставляет библиотеки, которые работают с oxml. Года два назад пробовал, всё работало. Вобщем предлагаю использовать этот подход для считывания новых файлов.
Статус: Member
Группы: Registered
Зарегистрирован: 31.03.2010(UTC) Сообщений: 20 Откуда: Ганновер
К OXML проще доступ (открыта архитектура файла). Может быть действительно пропустить стареющий .xls и попробовать написать рабочий плагин для .xlsx. Ведь вся прелесть этих функций в том, что в таблице производится своя обработка.
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 21.01.2009(UTC)
Сообщений: 182
Откуда: Волгоград
Сказал «Спасибо»: 126 раз Поблагодарили: 36 раз в 22 постах
Плагин хорош, а можно ли добавить поддержку именованных диапазонов(хотя бы для чтения). Т.е. например у меня есть таблица, я ее называю например "Таблица", а потом обращаюсь к ней, и считываю например 1 ячейку 2 колонки диапазона "Таблица".
Быстрый переход
Форум проекта SMath
SMath Studio
- Скачать SMath Studio
--- Архив
--- Ночные сборки
- Примеры использования
- Вопросы по использованию
- Предложения
- Ошибки
Математика
- Документы
- Алгоритмы
- Математические задачи
Общение
- О проекте
- Общение
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.