CftClub.ru
Клуб специалистов ЦФТ-Банк

Читать и записывать в один и тот же Excel файл

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
jamil
Участник со стажем
Неподтвержденный


Вступление в Клуб: 11.08.2014
СообщениеПт Май 19, 2017 06:18   Читать и записывать в один и тот же Excel файл Ответить с цитатой
Полезность: Нет оценки
Как читать и записывать одновременно в один и тот же excel файл?
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеПт Май 19, 2017 09:26   ? Ответить с цитатой
Полезность: Нет оценки
А зачем ?
_________________
Нельзя всем дать всё: всех много, а всего мало
jamil
Участник со стажем
Неподтвержденный


Вступление в Клуб: 11.08.2014
СообщениеПт Май 19, 2017 09:53   Re: ? Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
А зачем ?

Есть excel файл, в котором есть список имен jpg файлов. Имена этих файлов, это ID клиента.
Нужно прочитать excel извлечь из строки вида «123456.jpg» ID клиента, найти этого клиента в базе и обратно в этот же excel файл рядом с именем jpg файла записать ФИО клиента.
yaffil
Профи
Неподтвержденный


Вступление в Клуб: 18.08.2011
СообщениеПт Май 19, 2017 10:16   Re: ? Ответить с цитатой
Полезность: Нет оценки
jamil пишет:
vtar пишет:
А зачем ?

Есть excel файл, в котором есть список имен jpg файлов. Имена этих файлов, это ID клиента.
Нужно прочитать excel извлечь из строки вида «123456.jpg» ID клиента, найти этого клиента в базе и обратно в этот же excel файл рядом с именем jpg файла записать ФИО клиента.


Какое то сомнительное удовольствие:

1. Херится эталонный файл, т.е. его уже нельзя признать эталонным после записи в него
2. Считать строки можно через скрипт, но одновременно записать туда не уверен

Проще считать и создать отдельно файл типа "*_со_сверкой.xls" а ещё лучше залить ваш файл в справочник ЦФТ, притянуть клиента туда, которые есть, и если надо кому выгрузить через "печать"
Alkov
Профи
Неподтвержденный


Вступление в Клуб: 23.09.2010
СообщениеПн Май 22, 2017 05:21   Re: ? Ответить с цитатой
Полезность: 1
jamil пишет:
vtar пишет:
А зачем ?

Есть excel файл, в котором есть список имен jpg файлов. Имена этих файлов, это ID клиента.
Нужно прочитать excel извлечь из строки вида «123456.jpg» ID клиента, найти этого клиента в базе и обратно в этот же excel файл рядом с именем jpg файла записать ФИО клиента.


Ну в клиент скрипте цикл по строкам файла,
считываете значение в столбце 1 в переменную на форме,
вызываете проверку результат которой в переменную на форме
в к-с в столбец 2 прописываете результат
переходите к следующей строке.
Эмиралька
Профи
Неподтвержденный


Вступление в Клуб: 09.11.2015
СообщениеПн Май 22, 2017 06:59   Re: ? Ответить с цитатой
Полезность: 1
Alkov пишет:
jamil пишет:
vtar пишет:
А зачем ?

Есть excel файл, в котором есть список имен jpg файлов. Имена этих файлов, это ID клиента.
Нужно прочитать excel извлечь из строки вида «123456.jpg» ID клиента, найти этого клиента в базе и обратно в этот же excel файл рядом с именем jpg файла записать ФИО клиента.


Ну в клиент скрипте цикл по строкам файла,
считываете значение в столбце 1 в переменную на форме,
вызываете проверку результат которой в переменную на форме
в к-с в столбец 2 прописываете результат
переходите к следующей строке.


Совершенно верно!
На экранной форме операции делаете кнопку.
Жмёте кнопку.
В VB-скрипте запускается sub.
.. Внутри создаёте переменную, в которой открываете COM-объект Excel.
.. Открываете файл.
.. цикл
.. .. Считываете строку.
.. .. Запускаете синхронный вызов операции через Form1.ScriptServerValidate.
.. .. Пишете в файл через всё ту же com-переменную.
.. следующая строка
.. Сохраняете файл.
Выходите из sub.

Если слишком медленно, можно потом оптимизировать Smile
jamil
Участник со стажем
Неподтвержденный


Вступление в Клуб: 11.08.2014
СообщениеПн Май 22, 2017 12:31   Re: ? Ответить с цитатой
Полезность: Нет оценки
Эмиралька пишет:
Alkov пишет:
jamil пишет:
vtar пишет:
А зачем ?

Есть excel файл, в котором есть список имен jpg файлов. Имена этих файлов, это ID клиента.
Нужно прочитать excel извлечь из строки вида «123456.jpg» ID клиента, найти этого клиента в базе и обратно в этот же excel файл рядом с именем jpg файла записать ФИО клиента.


Ну в клиент скрипте цикл по строкам файла,
считываете значение в столбце 1 в переменную на форме,
вызываете проверку результат которой в переменную на форме
в к-с в столбец 2 прописываете результат
переходите к следующей строке.


Совершенно верно!
На экранной форме операции делаете кнопку.
Жмёте кнопку.
В VB-скрипте запускается sub.
.. Внутри создаёте переменную, в которой открываете COM-объект Excel.
.. Открываете файл.
.. цикл
.. .. Считываете строку.
.. .. Запускаете синхронный вызов операции через Form1.ScriptServerValidate.
.. .. Пишете в файл через всё ту же com-переменную.
.. следующая строка
.. Сохраняете файл.
Выходите из sub.

Если слишком медленно, можно потом оптимизировать Smile


Спасибо. Предложенные варианты помогли и задачу решил.
yaffil
Профи
Неподтвержденный


Вступление в Клуб: 18.08.2011
СообщениеПн Май 22, 2017 12:33   Re: ? Ответить с цитатой
Полезность: Нет оценки
jamil пишет:

Спасибо. Предложенные варианты помогли и задачу решил.


По скорости как?
jamil
Участник со стажем
Неподтвержденный


Вступление в Клуб: 11.08.2014
СообщениеПн Май 22, 2017 13:06   Re: ? Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
jamil пишет:

Спасибо. Предложенные варианты помогли и задачу решил.


По скорости как?

Excel с 5555 строками данных обработался за 2 минуты 30 секунд.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru