| 
							DanZer
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 «  : 05-03-2005 06:09 »   | 
								
								 | 
							  
							 
							Имеется база данных, написанная на Visual FoxPro 5. Фирма-разработчик сдохла, мне переучиваться как-то не с руки (тем более, что есть Delphi   ) Летом накатал программку (в чем немало помогли данные здесь советы  https://forum.shelek.ru/index.php/topic,4269.msg79998.html), которая работает совместно с имеющейся и берет информацию в ее базе. Вывод в DBGrid, фильтр и все такое... Короче - на конкурс красоты не выставишь, но работает. Теперь понадобилось сохранение выдаваемой информации в файл, в идеале - экспорт в Excel. Собсно, вопрос - как это можно сделать с минимальными усилиями и стандартными средствами Delphi 6?  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	| 
		
		
	 | 
	
		
		
			
				
					
						| 
							DanZer
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #2 : 05-03-2005 09:56 »   | 
								
								 | 
							  
							 
							Спасибо, но перед тем, как передавать что-то или сохранять, нужно, чтобы эти данные имелись. А как их можно вытащить из цепочки ADOConnection->ADODataSet->DBGrid? PS Вроде нашел:  http://delphiworld.by.ru/base/ado_in_delphi.html Спасибо за ссылку    Но, если еще какие советы по теме будут - тоже приму с благодарностью.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 05-03-2005 10:04 от DanZer »
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Alf
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #3 : 05-03-2005 10:44 »   | 
								
								 | 
							  
							 
							Тогда пардон. Из первого поста вроде бы следует, что все уже сделано, включая вывод в DBGrid. То есть данные готовы, остается только выгрузит в Excel.
  Так как же все обстоит на самом деле, что сделано и что осталось? Желательно подробнее, чтобы тем, кто пытается помочь, не додумывать самим недосказанное. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							DanZer
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #4 : 05-03-2005 13:18 »   | 
								
								 | 
							  
							 
							Собственно, дела обстоят так:  1. Данные отображаются с помощью цепочки ADOConnection->ADODataSet->DBGrid. 2. Проходя эту цепочку фильтруются с помощью обработчика OnFilterEvent в ADODataSet. 3. DBGrid берет их для отображения именно из ADODataSet, причем уже в готовом, отфильтрованном, отсортированном и обработанном виде, не внося никаких изменений.
  Так что данные-то готовы, но я могу лишь выводить их на экран для просмотра, но не сохранять куда-либо для вставки в отчеты и/или распечатки. DBGrid свойства Cells не имеет, так что как вытащить данные из базы для сохранения в файл/передачи по OLE - не знаю. Да и, по идее, их надо напрямую с ADODataSet снимать, нет?
  В принципе, меня интересует задача в общем виде: как получить из объекта TDataSet содержащиеся в нем записи. Подойдут и советы по схожим темам, скажем, получение данных из таблицы через BDE DataSource  - а дальше я уже по аналогии.
  Пока самое близкое, что я нашел - DataSetPageProducer для выдачи данных в html. Но не совсем то: а) С ним еще надо разбираться - может это и совсем не то, что я понял из описания. б) Даже если и то, слишком уж извращенный метод получается - экспорт в html, обратный импорт... 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #5 : 07-03-2005 15:42 »   | 
								
								 | 
							  
							 
							о, господи...  а чем не устраивает Next в купе с for i := 0 to Fields.Count - 1 do a := Fields .Value? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							DanZer
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #6 : 07-03-2005 21:52 »   | 
								
								 | 
							  
							 
							Чем не устраивает? Гм, наверное, тем, что не знал я такого способа    В справке и примерах нашел почему-то только вывод в DBGridы, DBEditы и иже с ними. Спасибо за помощь.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	| 
		
		
	 | 
	
		
		
			
				
					
						| 
							krulik
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #8 : 18-03-2005 16:33 »   | 
								
								 | 
							  
							 
							Загляни на эту страницу там децл есть по твоему вопросу     http://www.kornjakov.ru.    А вообще самый надежный способ работы с екселем это записать макрос в самом екселе, а потом путем несложных операций перевести полученный код в делфу (по крайней мере я так делаю). Также загляни в архив там часть материалов которые я накопал в инете. Если че то ... [attachment удален администратором]  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							DanZer
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #9 : 19-03-2005 00:04 »   | 
								
								 | 
							  
							 
							Спасибо, в принципе данной выше информации уже хватило (тем более, что я архив delphiworld скачал для более внимательного ознакомления), уже все работает. Но, тем не менее - спасибо за помощь. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									«  Ответ #10 : 14-04-2005 01:42 »    | 
								
								 | 
							  
							 
							Самое простое - через FastReport. Строиш отчет как тебе надо и делаеш экспорт. v3 поддерживает HTML, Excel, RTF, TIFF, BMP и PDF. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	 |