| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		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: ? | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				
 
Есть excel файл, в котором есть список имен jpg файлов. Имена этих файлов, это ID клиента.
 
Нужно прочитать excel  извлечь из строки вида "123456.jpg" ID клиента, найти этого клиента в базе и обратно в этот же excel файл рядом с именем jpg файла записать ФИО клиента. | 
			 
		  | 
	
	
		  | 
	
	
		yaffil Профи
 
  Вступление в Клуб: 18.08.2011
  | 
		
			
				 Пт Май 19, 2017 10:16   Re: ? | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | jamil пишет: | 	 		  
 
Есть excel файл, в котором есть список имен jpg файлов. Имена этих файлов, это ID клиента.
 
Нужно прочитать excel  извлечь из строки вида "123456.jpg" ID клиента, найти этого клиента в базе и обратно в этот же excel файл рядом с именем jpg файла записать ФИО клиента. | 	  
 
 
Какое то сомнительное удовольствие:
 
 
1. Херится эталонный файл, т.е. его уже нельзя признать эталонным после записи в него
 
2. Считать строки можно через скрипт, но одновременно записать туда не уверен
 
 
Проще считать и создать отдельно файл типа "*_со_сверкой.xls" а ещё лучше залить ваш файл в справочник ЦФТ, притянуть клиента туда, которые есть, и если надо кому выгрузить через "печать" | 
			 
		  | 
	
	
		  | 
	
	
		Alkov Профи
 
  Вступление в Клуб: 23.09.2010
  | 
		
			
				 Пн Май 22, 2017 05:21   Re: ? | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				 	  | jamil пишет: | 	 		  
 
Есть excel файл, в котором есть список имен jpg файлов. Имена этих файлов, это ID клиента.
 
Нужно прочитать excel  извлечь из строки вида "123456.jpg" ID клиента, найти этого клиента в базе и обратно в этот же excel файл рядом с именем jpg файла записать ФИО клиента. | 	  
 
 
Ну в клиент скрипте цикл по строкам файла,
 
считываете значение в столбце 1 в переменную на форме,
 
вызываете проверку результат которой в переменную на форме
 
в к-с в столбец 2 прописываете результат
 
переходите к следующей строке. | 
			 
		  | 
	
	
		  | 
	
	
		Эмиралька Эксперт
 
  Вступление в Клуб: 09.11.2015
  | 
		
			
				 Пн Май 22, 2017 06:59   Re: ? | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				 	  | Alkov пишет: | 	 		   	  | jamil пишет: | 	 		  
 
Есть excel файл, в котором есть список имен jpg файлов. Имена этих файлов, это ID клиента.
 
Нужно прочитать excel  извлечь из строки вида "123456.jpg" ID клиента, найти этого клиента в базе и обратно в этот же excel файл рядом с именем jpg файла записать ФИО клиента. | 	  
 
 
Ну в клиент скрипте цикл по строкам файла,
 
считываете значение в столбце 1 в переменную на форме,
 
вызываете проверку результат которой в переменную на форме
 
в к-с в столбец 2 прописываете результат
 
переходите к следующей строке. | 	  
 
 
Совершенно верно!
 
На экранной форме операции делаете кнопку.
 
Жмёте кнопку.
 
В VB-скрипте запускается sub.
 
.. Внутри создаёте переменную, в которой открываете COM-объект Excel.
 
.. Открываете файл.
 
.. цикл
 
.. .. Считываете строку.
 
.. .. Запускаете синхронный вызов операции через Form1.ScriptServerValidate.
 
.. .. Пишете в файл через всё ту же com-переменную.
 
.. следующая строка
 
.. Сохраняете файл.
 
Выходите из sub.
 
 
Если слишком медленно, можно потом оптимизировать   | 
			 
		  | 
	
	
		  | 
	
	
		jamil Участник - экстремал
 
  Вступление в Клуб: 11.08.2014
  | 
		
			
				 Пн Май 22, 2017 12:31   Re: ? | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | Эмиралька пишет: | 	 		   	  | Alkov пишет: | 	 		   	  | jamil пишет: | 	 		  
 
Есть excel файл, в котором есть список имен jpg файлов. Имена этих файлов, это ID клиента.
 
Нужно прочитать excel  извлечь из строки вида "123456.jpg" ID клиента, найти этого клиента в базе и обратно в этот же excel файл рядом с именем jpg файла записать ФИО клиента. | 	  
 
 
Ну в клиент скрипте цикл по строкам файла,
 
считываете значение в столбце 1 в переменную на форме,
 
вызываете проверку результат которой в переменную на форме
 
в к-с в столбец 2 прописываете результат
 
переходите к следующей строке. | 	  
 
 
Совершенно верно!
 
На экранной форме операции делаете кнопку.
 
Жмёте кнопку.
 
В VB-скрипте запускается sub.
 
.. Внутри создаёте переменную, в которой открываете COM-объект Excel.
 
.. Открываете файл.
 
.. цикл
 
.. .. Считываете строку.
 
.. .. Запускаете синхронный вызов операции через Form1.ScriptServerValidate.
 
.. .. Пишете в файл через всё ту же com-переменную.
 
.. следующая строка
 
.. Сохраняете файл.
 
Выходите из sub.
 
 
Если слишком медленно, можно потом оптимизировать   | 	  
 
 
Спасибо. Предложенные варианты помогли и задачу решил. | 
			 
		  | 
	
	
		  | 
	
	
		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 секунд. | 
			 
		  | 
	
	
		  | 
	
	
		 |