|
3 / 3 / 0
Регистрация: 01.07.2010
Сообщений: 53
|
|
Отображение данных из Excel в TStringGrid.05.11.2010, 08:22. Показов 14019. Ответов 40
Метки нет (Все метки)
0
|
|
| 05.11.2010, 08:22 | |
|
Ответы с готовыми решениями:
40
корректное отображение импортированных данных в формулах excel Импорт из MS Excel в TStringGrid C++ XE7 -Чтение файла с FTP устройством на Android и отображение его в TStringGrid |
|
3 / 3 / 0
Регистрация: 01.07.2010
Сообщений: 53
|
|
| 28.12.2010, 08:23 [ТС] | |
|
нет,мне нужно загружать также таблице только на других ормах!И не в один StringGrid!Нужно что бы это всё можно было делать на нескольких формах!на каждой форме и кнопка загрузки и сама таблица(сразу скажу что таблицы разные),и таких копий оч много,нужно чтоб на каждую форму по таблице загрузить!а там уже я сам,прогсто вылазеет ошибка:
ExApp := CreateOleObject('Excel.Application');- на этой строке ошибка такая: Undeclared identifier:'CreateOleObject' что делать не знаю=()а прогу на сегодня нужно доделать=(((
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||||||||||||||||||
| 28.12.2010, 11:07 | ||||||||||||||||||
|
Т. е., в том модуле, который вызвает CreateOleObject() должно быть написано:
Эту процедуру можно использовать на всех формах для различных таблиц типа TStringGrid. Предположим, что процедура описана в модуле Unit1. Пример вызова:
1
|
||||||||||||||||||
|
3 / 3 / 0
Регистрация: 01.07.2010
Сообщений: 53
|
|
| 14.01.2011, 11:57 [ТС] | |
|
здравствуйте ещё раз!дайте совет пожалуйста по более сложному вопросу=\
я вообще не знаю как это вообще возможно сделать! При нажатии на кнопку открывается opengialog в котором выбираем не один файл а сразу много,ну например!20 или 30!не важно сколько!!для моей программы нужно 300 таблиц загружать одновременно,т,е раньше я делал по нажатию кнопки на каждой форме загружать свою таблицу,но когда я стал загружать 10 и более таблиц,я задумался=\для каждой формы загружать свою таблицу это оч мучительно,а мремени раймёт минимум минут 40! вобщем мне нужно загружать много таблиц одновременно на разные формы,и ещё,!!!будут таблицы с названием 1,2,3,4....итд!то есть таблица под названием 1 для первой формы,файл под названием 2 для второй формы таблицы т.е какая цифра на ту форму в StringGrid и загружать!если возьмём две таблицы 1 и 5-значит загружаться должно в первую и пятую! как это вообще сделать возможно???и возможно ли?=\ подскажие если не сложно хотябы чуть чуть!
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 14.01.2011, 23:18 | |
|
А может не нужна для каждой загрузки отдельная форма? Действия, наверное, однотипные? Возможно, для обработки даже таблица не нужна.
Вернее - саму обработку можно делать на массиве.Предлагаю рассмотреть такую архитектуру: Написать базовую процедуру, которая должна работать так: - Загрузка данных из таблицы Excel в массив. - Обработка массива. - Выгрузка выходных данных. Далее, пишется вызывающий код, на вход которого поступает массив Excel-файлов. Этот код с помощью базовой процедуры последовательно обрабатывает все файлы из входного массива. Можно вести обработку файлов в многопоточном режиме. Выделить, на это, скажем, 3-5 потоков (с учётом того, что загрузка идёт через OLE-механизм). --- RedBull, на сколько такой вариант приемлем?
0
|
|
|
3 / 3 / 0
Регистрация: 01.07.2010
Сообщений: 53
|
|
| 16.01.2011, 14:03 [ТС] | |
|
ммм,я вообще нифига не монял что ты написал=)))
но мне кажется это всё равно лучше=) но я вообще не представляю как это=\ не,для меня легче будет сделать так=) разные формы и загрузка таблиц на все формы одним кликом=)тольк я не знаю как это сделать=\ с учётом какая цифра в имени на такую форму и загружать! с чего лучше всего начать?:cofee2:
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 17.01.2011, 12:27 | |
|
RedBull, предлагаю сделать в виде MDI приложения. Проект приложен к этому сообщению.
Работает так: - Для открытия можно выбирать отдельный файл, группы файлов или целые папки. - Ведётся список открытых файлов. - Для загрузки создаётся только один экземпляр Excel. - Загрузка выполняется в основном потоке. В дальнейшем загрузку можно реализовать в отдельном потоке.
1
|
|
|
3 / 3 / 0
Регистрация: 01.07.2010
Сообщений: 53
|
|
| 02.02.2011, 14:36 [ТС] | |
|
большое спасибо за такую программу!очень удобная!с такими ни разу в жизни не работал
![]() теперь возник вопрос: как задать в поиск строки во втором столбце всех таблиц!причём каждая таблица за свой Shape на другой форме!имеется интервал который вводит пользователь! К примеру: пользователь вводит интервал I)-0,15 II)1,3!вводит ещё №строки в edit!идёт поиск этой строки во всех таблицах во 2 столбце!когда находит,смотрит если это число в этой строке больше интервала то Shape красный,если это число в строке между интервалом значит желтый,и если меньше тогда зелёный!причём каждая таблица имеет свой Shape!и только в нем она должна менять цвет!ещё оч круто было бы если:название таблицы(число) соответствовало своему Shape!т.е если таблица под названием 16 то она и будет менять цвет только в Shape16!и так далее! вот есть готовый код из старой программы но для этой нужно делать что то новое,с такими программами я ещё не сталкивался!так что я лол ![]() ![]() ________________________________________ ________ var i:Integer; k:real; begin i := strtoint(form2.edit1.text); берёт значение из интервала form4.label3.Caption:=form1.stringgrid1. cells[0,i]; //показывает число от первой строки bitbtn1.Caption:=form1.stringgrid1.cells[1,i]; k:=strtofloat(bitbtn1.Caption); form4.label4.Caption:=floattostr(k); //показывает число от второй строки if (k<=1) then begin form3.shape1.brush.color:=clLime end ; // определяет число больше или меньше,присваивается свой цвет Shape if (k>1) and (k<=2)then begin form3.shape1.brush.color:=clYellow end; if (k>2) then begin form3.shape1.brush.color:=clred end;
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 02.02.2011, 21:25 | |
|
RedBull, я в субботу этой темой займусь.
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 10.03.2011, 16:29 | |
|
Выкладываю вариант решения.
1
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 10.03.2011, 16:52 | |
|
Ради тривиального импорта данных из XLS(X)-контейнера нет никакой нужды городить огород с Excel. Вполне достаточно воспользоваться компонентом Axolot XLSReadWriteII 4 - он прекрасно работает с контейнером напрямую, исключительно удобен в программном его использовании и не требует присутствия в системе установленного Excel.
0
|
|
|
Фрилансер
452 / 433 / 117
Регистрация: 01.06.2010
Сообщений: 1,314
|
|
| 10.03.2011, 17:12 | |
|
mss, и сколько же зелени нужно заплатить за сей шедевр???
В Гугл можешь не посылать, уже был там... Ты для всех цены озвучь, плиз!!!
0
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 10.03.2011, 17:22 | |
|
> сколько же зелени нужно заплатить за сей шедевр?
А что, Офис дешевле ?) Или в нашем царстве-государстве всякий юзер исправно пользует искл-но лицензионный Офис ?) Или что-то мешает пользовать НЕлицензионный TXLSReadWrite ?) Вот то-то и оно)
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||||
| 10.03.2011, 17:31 | ||||
![]()
0
|
||||
|
Фрилансер
452 / 433 / 117
Регистрация: 01.06.2010
Сообщений: 1,314
|
|
| 10.03.2011, 17:34 | |
|
mss!
Что-то я сомневаюсь, что ты для своих нужд платил за этот опус свои кровные... В лучшем случае платила фирма где ты работаешь... Или я не прав???
0
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 10.03.2011, 17:46 | |
|
Зачем платить-то ?)
Продукт шароварный) Не нравится демо-ограничения ? Ковырнул пару байт - вот тебе и полнофункциональный. Ответственность наступит только в случае коммерч.применения, о котором в задании, равно как и об именно олей-доступе, нет ни слова.
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 03.04.2011, 00:20 | |
|
RedBull, по результатам переписки в ЛС выкладываю проект с формой индикаторов. Набор индикаторов реализован на основе TStringGrid. Особенностью является то, что на самом деле, эта таблица не содержит данных.
Её ячейки используются только для индикации - их содержимое, цвет, текст, прорисовываются на основе внешних данных, взятых из FormMain.ListBox1. FormMain.ListBox1 - это основной элемент, связывающий данные. Размер таблицы индикаторов подбирается автоматически, в зависимости от количества прочитанных файлов. В инспекторе объектов можно менять количество столбцов таблицы. Количество строк подбирается автоматически во время работы программы.Форма индикаторов запускается в модальном режиме. Можно сделать её не модальной - если это удобнее.
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 10.04.2011, 17:04 | |
|
И ещё проект с сортировкой списка файлов. Определены 4 процедуры сортировки - по убыванию и возрастанию, по целочисленным значениям, записанных в строках и по строковым значениям:
SortListNumAsc(), SortListNumDesc(), SortListStrAsc(), SortListStrDesc().
1
|
|
|
0 / 0 / 0
Регистрация: 03.01.2012
Сообщений: 57
|
|
| 03.01.2012, 16:09 | |
|
Mawrat
А как прикрутить поиск одновременно со всех открытых файлов(форм) по тексту введенному в Edit на главной форме, и все найденные результаты поместить в отдельный грид?
0
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|||||||||||
| 04.01.2012, 02:16 | |||||||||||
|
Поиск текста на листе книги MS Excel можно выполнить так:
Программа работает так: в Edit1 надо ввести искомый текст, затем нажать кнопку - запустится диалог выбора файла. Выбрать файл *.xls или *.xlsx. Программа запустит Excel, откроет в Excel выбранную рабочую книгу и выполнит поиск заданного текста на первом листе книги. Сведения обо всех обнаруженных совпадениях будут распечатаны в Мемо1. --- Для того, чтобы запрограммировать поиск в нескольких книгах достаточно взять этот код в качестве основы и добавить перебор книг. Каждую книгу открывать и обрабатывать так, как показано в коде. Если надо добавить обработку всех листов рабочей книги, для этого следует добавить цикл перебора листов:
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 03.01.2012
Сообщений: 57
|
|
| 04.01.2012, 12:19 | |
|
Mawrat
Спасибо, но хотелось бы искать не из книги Exel, а уже из загруженных книг из Exel в StringGrid. Все, как у вас выше в программе + одновременный поиск во всех открытых гридах и занесения всех строк(в которых поле соответсвует условию поиска) в отдельный грид.
0
|
|
| 04.01.2012, 12:19 | |
|
Неправильное отображение даты при импорте данных из Excel в DataGridView
Расчет данных в Tstringgrid по формуле Импорт данных из Tstringgrid в Word
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|