<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Jscript: Можно ли передать напрямую в Excel recordset?]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5069&amp;type=atom" />
	<updated>2010-10-22T12:49:49Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5069</id>
		<entry>
			<title type="html"><![CDATA[Re: Jscript: Можно ли передать напрямую в Excel recordset?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40735#p40735" />
			<content type="html"><![CDATA[<p>Рад что помог... <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2010-10-22T12:49:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40735#p40735</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Jscript: Можно ли передать напрямую в Excel recordset?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40710#p40710" />
			<content type="html"><![CDATA[<p>Евген спасибо, то что надо, теперь отчеты просто летают. Синтаксис для Jscript: </p><div class="codebox"><pre><code>ExcelSheet.ActiveSheet.range(&quot;a4&quot;).CopyFromRecordset(oRS);</code></pre></div>]]></content>
			<author>
				<name><![CDATA[putrsa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25443</uri>
			</author>
			<updated>2010-10-22T06:05:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40710#p40710</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Jscript: Можно ли передать напрямую в Excel recordset?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40708#p40708" />
			<content type="html"><![CDATA[<p>Если в Excel средствами VBA сделать выборку, то можно будет использовать такую комбинацию...<br /></p><div class="codebox"><pre><code>Set Engine = CreateObject(&quot;DAO.DBEngine.36&quot;)
Set MDB=Engine.OpenDatabase (&quot;d:\listok.mdb&quot;)
Set RS=MDB.OpenRecordset(&quot;select * from list_table&quot;)
cells(20,1).CopyFromRecordset RS</code></pre></div><p>вот так будет работать</p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2010-10-22T04:50:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40708#p40708</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Jscript: Можно ли передать напрямую в Excel recordset?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40706#p40706" />
			<content type="html"><![CDATA[<p>вот кусочек скрипта, который относится к теме: <br /></p><div class="codebox"><pre><code>var f_name=&#039;D:\\OUT\\reestrout10_2010.dbf&#039;; 
var sConnString=&quot;Provider=vfpoledb.1;Data Source=d:\\;Mode=Share Deny None;DSN=;&quot; 
  if (WScript.Arguments.Count()&gt;0) f_name=oArg(0); 
var oConn = new ActiveXObject(&quot;ADODB.Connection&quot;);
  oConn.Open(sConnString);
  var oRS = new ActiveXObject(&quot;ADODB.Recordset&quot;);
  oRS.Open(&quot;select * from &#039;&quot;+f_name+&quot;&#039;&quot;,oConn); 
var data = new Date(oRS.Fields(&#039;zdata&#039;));


var ExcelSheet = new ActiveXObject(&quot;Excel.Sheet&quot;);
i=1;
if (oRS.eof)  WScript.Quit();

while (!oRS.eof)
{//заполняем таблицу
j=i+4;    
    with (ExcelSheet.ActiveSheet)
    {
        Cells(j, 1).Value = i;
        Cells(j, 2).Value= oRS.Fields(&#039;kod_obh&#039;);
        Cells(j, 3).Value = oRS.Fields(&#039;Fio&#039;);
        Cells(j, 4).Value = oRS.Fields(&#039;nabon&#039;);
        Cells(j, 5).Value = oRS.Fields(&#039;kollist&#039;);
        Cells(j, 8).Value = oRS.Fields(&#039;kolvo&#039;);
        Cells(j, 12).Value = oRS.Fields(&#039;zdata&#039;);
    }    
    oRS.MoveNext;
    i+=1;
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[putrsa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25443</uri>
			</author>
			<updated>2010-10-22T04:45:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40706#p40706</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Jscript: Можно ли передать напрямую в Excel recordset?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40697#p40697" />
			<content type="html"><![CDATA[<p>Приведите здесь текст «рабочего скрипта», посмотрим.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2010-10-21T20:24:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40697#p40697</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Jscript: Можно ли передать напрямую в Excel recordset?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40694#p40694" />
			<content type="html"><![CDATA[<p>Данный топик возник из-за необходимости модернизировать рабочий скрипт с целью ускорения вывода экселевского документа на экран. Самое емкое по времени место скрипта как раз вывод значений запроса в документ. Может есть способ ускорить вывод кроме &quot;Данные - Импорт внешних данных&quot; (никогда из скрипта не формировал запрос в екселе и не уверен что заработает)</p>]]></content>
			<author>
				<name><![CDATA[putrsa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25443</uri>
			</author>
			<updated>2010-10-21T19:58:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40694#p40694</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Jscript: Можно ли передать напрямую в Excel recordset?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40679#p40679" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>putrsa пишет:</cite><blockquote><p>в результате выборки получается рекордсет 54 х 7, можно ли его вставить в эксель напрямую, примерно так:<br /></p><div class="codebox"><pre><code>oRS.Open(&quot;select * from &#039;table.dbf&#039;&quot;,oConn); 
var ExcelSheet = new ActiveXObject(&quot;Excel.Sheet&quot;);
ExcelSheet.ActiveSheet.range(&#039;A1:G54&#039;).value=oRS.Fields;</code></pre></div></blockquote></div><p>putrsa,</p><p>нет.<br />1. Fields возвращает коллекцию полей запроса, а не их значений.<br />2. Запрос надо разбирать вручную и раскладывать по ячейкам.<br />3. Возможно Вы в курсе - просто напомню. В EXCEL есть возможность <em>Данные - Импорт внешних данных</em>.<br />Там Вы можете сформулировать Ваш запрос к базе - и вот тогда значения разложатся по ячейкам сами.<br />И никакой JScript для этого не нужен.</p>]]></content>
			<author>
				<name><![CDATA[Slav]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=16491</uri>
			</author>
			<updated>2010-10-21T13:00:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40679#p40679</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Jscript: Можно ли передать напрямую в Excel recordset?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40667#p40667" />
			<content type="html"><![CDATA[<p>в результате выборки получается рекордсет 54 х 7, можно ли его вставить в эксель напрямую, примерно так:<br /></p><div class="codebox"><pre><code>oRS.Open(&quot;select * from &#039;table.dbf&#039;&quot;,oConn); 
var ExcelSheet = new ActiveXObject(&quot;Excel.Sheet&quot;);
ExcelSheet.ActiveSheet.range(&#039;A1:G54&#039;).value=oRS.Fields;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[putrsa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25443</uri>
			</author>
			<updated>2010-10-21T09:16:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40667#p40667</id>
		</entry>
</feed>
