С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/103: Рейтинг темы: голосов - 103, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12

Как открыть файл Excel (sdkxll)?

28.08.2020, 15:49. Показов 20203. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Может ли кто подсказать как открыть файл Excel при помощи функций Microsoft sdk xll?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.08.2020, 15:49
Ответы с готовыми решениями:

Как открыть конкретный excel-файл?
Нужно получить доступ к уже готовому excel-файлу. Пользуюсь FindExecutable и ShellExecute, ввожу путь к нужному файлу, но при запуске...

Открыть папку и выделить файл/открыть файл в Excel
Привет, как программно открыть папку и выделить файл ? также как заставить Excel открыть файл ? в Delphi делал это так: ...

Как открыть html-файл через MS Word и MS Excel?
Здравствуйте, вопрос в заголовке темы. Конкретно интересует как это сделать с ShellExecute. Буду благодарен за пример. Добавлено через...

18
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
28.08.2020, 16:33
Цитата Сообщение от Ninat Посмотреть сообщение
Может ли кто подсказать как открыть файл Excel при помощи функций Microsoft sdk xll?
Ты расширение для Excel собрался делать? Или тебе просто нужно открыть документ excel?
Для чего тебе понадобилась xll?
0
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
29.08.2020, 20:28  [ТС]
Есть макрос на vba, запускаемый с открытой книги.
1. Запрос на открытие файла с исходными данными
2. Копируется очень большой диапазон данных, который вставляется в книгу с расчетами
3. Вычисляются все формулы книги
4. В цикле все повторяется много раз
проблема в больших объемах данных и большом количестве формул, результат очень медленное выполнение макроса
это в общих чертах.
пробую сделать xll для ускорения работы.

это также можно сделать без надстройки, просто отдельной программой, так как никаких действий в самом Excel нет.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
29.08.2020, 20:34
Цитата Сообщение от Ninat Посмотреть сообщение
проблема в больших объемах данных и большом количестве формул, результат очень медленное выполнение макроса
это в общих чертах.
пробую сделать xll для ускорения работы.
Думаешь, xll здесь поможет?
Возможно здесь проблема в неправильной организации данных, либо в выборе Excel в качестве хранилища.
0
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
29.08.2020, 20:36  [ТС]
от Excel отказаться нельзя
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
29.08.2020, 20:39
Ну и, вполне вероятно, что сам скрип криво написан
0
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
29.08.2020, 20:41  [ТС]
можно сделать отдельной консольной программой, открывая оба файла, с использованием sdk xll. Надеюсь это будет работать быстрее.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
29.08.2020, 20:46
Цитата Сообщение от Ninat Посмотреть сообщение
можно сделать отдельной консольной программой, открывая оба файла, с использованием sdk xll. Надеюсь это будет работать быстрее.
По-моему, xll только в сам Excel грузится. Возможно ты имел ввиду com-объекты для работы с Excel? https://docs.microsoft.com/en-... -fill-data
0
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
29.08.2020, 20:50  [ТС]
извините, имела ввиду консольное приложение с использованием sdk
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
29.08.2020, 21:01
Цитата Сообщение от Ninat Посмотреть сообщение
извините, имела ввиду консольное приложение с использованием sdk
В любом случае, вряд ли ты что-то ускоришь. VBA вполне нормально работает. Надо оптимизировать данные и скрипт.

Добавлено через 7 минут
https://superuser.com/question... es-via-vbs
0
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
29.08.2020, 21:10  [ТС]
скрипт простейший - копирование и вставка. Все что возможно отключено, перерасчет формул вручную. Данные оптимизировать невозможно- к ним нет доступа. Спасибо за ответ.

Добавлено через 4 минуты
Да и копирование не по ячейкам, а сразу одним куском.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
29.08.2020, 21:14
Цитата Сообщение от Ninat Посмотреть сообщение
Да и копирование не по ячейкам, а сразу одним куском.
А что именно тормозит?

Добавлено через 1 минуту
Копирование через буфер обмена что-ли сделано?
0
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
29.08.2020, 21:17  [ТС]
в основном вычисление формул. данных очень много и количество циклов тоже(зависит от количества строк исходного файла)

Добавлено через 59 секунд
копирование copy и pastespecial
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
29.08.2020, 21:22
Цитата Сообщение от Ninat Посмотреть сообщение
в основном вычисление формул. данных очень много и количество циклов тоже(зависит от количества строк исходного файла)
Т.е. формулы всё-таки вычисляются в скрипте?
Покажи кусок этого скрипта

Добавлено через 2 минуты
Не лучше будет экспортировать эти данные в базу, в тот же Access, рассчитать там всё что надо и экспортировать обратно в Excel?
0
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
29.08.2020, 21:36  [ТС]
Application.Calculation = xlCalculationManual ---- в начале скрипта
..............
wsSheet1.Range(rangeX).Copy
wsBook2.Worksheets("Source").Range(range Y).PasteSpecial

Application.Calculation = xlCalculationAutomatic
...............
Application.Calculation = xlCalculationManual

Добавлено через 3 минуты
не знаю что и как считается,нет доступа к формулам тоже, поэтому только Excel
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
29.08.2020, 21:39
Цитата Сообщение от Ninat Посмотреть сообщение
Application.Calculation = xlCalculationAutomatic
Тормозит, я так понимаю, здесь?

Цитата Сообщение от Ninat Посмотреть сообщение
не знаю что и как считается,нет доступа к формулам тоже, поэтому только Excel
А что ты тогда собиралась в xll делать?
И про какие циклы та говорила?
0
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
29.08.2020, 21:43  [ТС]
excel 2010 64 разряда, может без Vba расчеты будут быстрее. На форумах есть такие сообщения и ссылка на c++ sdk xll
0
 Аватар для bedvit
1208 / 259 / 22
Регистрация: 20.05.2016
Сообщений: 1,136
Записей в блоге: 21
18.09.2020, 18:16
Пользуюсь своей xll, но пока не пойму, чем это вам поможет. Если будите писать свои UDF, то да профит будет.
Возможно вы копируете формулы, и они вычисляются. Что у вас после ".PasteSpecial"? (обычно указывается, что копируем, к примеру формат - PasteSpecial Paste:=xlPasteFormats)? Приложите полный код на VBA.
0
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
18.09.2020, 18:51  [ТС]
В копируемом файле только значения, формул нет. Но после копирования выполняется расчет формул по всей книге. Формул много и много ссылок на другие листы.
Частично уже сделала xll. Получается, чем больше формул в книге, тем большая разница в скорости вычислений, и xll работает в несколько раз быстрее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.09.2020, 18:51
Помогаю со студенческими работами здесь

Как открыть excel файл?
надо задать путь к файлу например в Excel это делается вот так: W_FileName = Application.GetOpenFilename('Excel files (*.xls), *.xls')а...

Как программно открыть Excel файл?
Создаю файл, вношу данные, сохраняю... А как его програмно открыть то? что то на предложения типа AppExcel.ActiveWorkbook.Open...

Как открыть существующий Excel файл?
Добрый день, ребята! Пните в правильном направлении, пожалуйста. Есть файл-форма Excel отчета. Как средствами c# MVC можно открыть его....

Как открыть Excel файл через datagridview?
Всем привет! Мне нужно в программе открывать Excel файл, его редактировать и сохранять. Последние два пункта я выполнил, а первый никак...

Как открыть файл Excel на сетевом диске?
Друзья! Помогите, пожалуйста, решить следующую проблему. Написал макрос, который сначала читает названия файлов excel из папки на...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru