powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel
6 сообщений из 6, страница 1 из 1
Excel
    #33075749
standov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно втяуть из Excelя через JScript (Wscript) данные, проблемма в том, что для колонки не задан тип и если в ячейке строка - все ок, но как-только там появляется число - оно загружается как null, что делать

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
// формирование свойств подключение для файла
		var strCnn = "Driver={Microsoft Excel Driver (*.xls)};DriverID=790;MAXSCANROWS=0;DBQ="+dirname+"/"+filename+";DefaultDir=" + dirname+";MAXSCANROWS=0;";

		//try {
			conn.Open(strCnn,"","");

			var selectStr = "SELECT * FROM [" + tablename +"]";
	
			

			//try {
				rs = conn.Execute(selectStr);

				// чтение данных из таблицы
				var row_index =  1 ;var index =  1 ;
				while (!rs.EOF) {
					row_index++;index++;
					
					//if (rs( 4 ) !=  0 )  {
						var part = ""+rs( 0 );
						//var firm = ""+rs( 1 );
						//var price = ""+rs( 2 );
						--->> ТУТА outStream.Write(new String(part));
						//outStream.Write(string_pad(firm,  30 ));
						//outStream.Write(string_pad(price,  18 ));
						outStream.Write("\r\n");
					//}
		
					if (index ==  5000 ) {
						WScript.echo("---> position: "+row_index);
						index =  0 ;
					}
				
					rs.MoveNext();
				}


			//} catch (e) {
			//	WScript.echo("ERROR. Exception "+e.getLine()+" for \""+tablename+"\" file\r\n");

			//}

		
			conn.Close();
  		//} catch (e) {
			WScript.echo("ERROR. Excel-ODBC init failed for \""+filename+"\" file\r\n");
		//}
...
Рейтинг: 0 / 0
Excel
    #33075753
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно использовать преобразование типов, нихт?
И предложи нормальное название топику.
...
Рейтинг: 0 / 0
Excel
    #33075994
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забудь про ADO, используй OLE. Будет намного проще жить :)
...
Рейтинг: 0 / 0
Excel
    #33076604
standov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не большой специалист ни в ADO ни в OLE.
Если можно в виде примера или ссылки где посмотреть.
Задача - нужно выбрать все записи из листа Excelя и положить их в текстовик, добив значения до некой фиксированной длины для последующего бинарного тупенького поиска по нему
...
Рейтинг: 0 / 0
Excel
    #33078119
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что тебе нужно с самого начала? Полностью задачу опиши.

Например у меня была такая задача: есть несколько сотрудничающих фирм которые шлют свои цифры в Экселевских файлах. Я сделал, во первых маленькую книгу с автостратующим макросом, который а) проверяет специальный каталог на наличие в нем *.xls b) открывает все найденые рабочие книги по очереди с) отсылает ИЗ Экселя данные в полноценную базу данных через ADO d) закрывает обработаную книгу и удаляет xls-файл.
А потом уже все выборки делаются по нормальной базе данных.

А если уж так сильно хочется читать данные напрямую из Экселя (извращение это конечно, хранить в нем данные, ну да ладно). Проще всего делать через OLE, примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
dim oExcel, oWB, oWS
set oExcel = CreateObject("Excel.Application")
set oWB = oExcel.Workbooks.Open(.....)
set oWS = oWB.Worksheets("MySourceSheet")
for i =  1  to  10 
   MsgBox oWS.Cells(i,  1 ).Text
next
oWb.Close
oExcel.Quit
Поддерживается почти полный VBA. Почти все что можно получить используя VBA (в том числе и поиск и любую работу с ячейками) можно делать через OLE.
...
Рейтинг: 0 / 0
Excel
    #33098626
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlНапример у меня была такая задача: есть несколько сотрудничающих фирм которые шлют свои цифры в Экселевских файлах. Я сделал, во первых маленькую книгу с автостратующим макросом, который а) проверяет специальный каталог на наличие в нем *.xls b) открывает все найденые рабочие книги по очереди с) отсылает ИЗ Экселя данные в полноценную базу данных через ADO d) закрывает обработаную книгу и удаляет xls-файл.
А потом уже все выборки делаются по нормальной базе данных.


Mne primerno takoye je zadachu nado reshat.
a) Proveryaet spetsialniy kataloq (tolko v lokalnom seti) na nalichie v nyem *.xls
b)Obidenyaet eti rab.kniqi v odin rab.kniq.
(Yesli ot ruki delat, toqda nado otkrivat kajdiy list kopirovat iz odnoqo, vstavit na druqoy.)
Kak mojno sdelat takoymakros , obyasnite pojolusta.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]