powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Конвертер xls в csv
51 сообщений из 51, показаны все 3 страниц
Конвертер xls в csv
    #38836737
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал 1.vbs

Вставляю код :
Код: vbnet
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.
Dim workbook
Dim worksheet
Dim k

set xapp = WScript.CreateObject("Excel.Application")
xapp.Visible = True

' Make a new Excel workbook:
'set workbook = xapp.Workbooks.Add
'set worksheet = workbook.Worksheets("sheet1")

'for k = 1 to 12
' worksheet.Cells(k, 2).Value = 2 * k + 1
'next

'worksheet.Cells(14, 1).Value = "Total:"
'worksheet.Cells(14, 2).Value = "=sum(B1:B12)"
'worksheet.Cells(14, 1).Font.Italic = True

xapp.WorkBooks.Open("C:\1.xls")

workbook.SaveAs("D:\2.cvs")

workbook.Close

xapp.Quit



Вылетает ошибка строка 22 символ 1, трубуется символ
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38836743
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,
торопился не описал что хочу: xls файл,хочу переделать в cvs, для загрузки его в БД (Oracle Sql*Loader обрабатывает только csv). Может кто знает программный способ конвертации xls в cvs? (создаю батник для подгрузки, так сказать автоматизирую процесс).
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38836745
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

set workbook = xapp.WorkBooks.Open("C:\1.xls")
?
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38836749
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-k2-,
Код: vbnet
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.
Dim workbook
Dim worksheet
Dim k

set xapp = WScript.CreateObject("Excel.Application")
xapp.Visible = True

' Make a new Excel workbook:
'set workbook = xapp.Workbooks.Add
'set worksheet = workbook.Worksheets("sheet1")

'for k = 1 to 12
' worksheet.Cells(k, 2).Value = 2 * k + 1
'next

'worksheet.Cells(14, 1).Value = "Total:"
'worksheet.Cells(14, 2).Value = "=sum(B1:B12)"
'worksheet.Cells(14, 1).Font.Italic = True

set workbook = xapp.WorkBooks.Open("C:\1.xls")

workbook.SaveAs("c:\2.cvs")

workbook.Close

xapp.Quit



делаю так: выпадает ошибка офиса прекращена работа Micr.Exel, создается файл 2.cvs, открываешь блокнотом там белеберда....
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38836760
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38836777
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamaraоткрываешь блокнотом там белеберда....потому что, во-первых, не cvs, а csv, а во-вторых нужно не только расширение указывать, но и формат сохранения. у тебя сохранился обычный xls под расширением cvs.
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38836782
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,
где его указать?
вот это указать?

Можешь код подправить?
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38836788
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

FileFormat:=xlCSV
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38836902
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел другой скрипт, но вместо ; стоят запятые, как поправить? и ошибку эксель постоянно выкидывает
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim workbook
Dim worksheet
Dim k

set xapp = WScript.CreateObject("Excel.Application")
xapp.Visible = True


set workbook = xapp.workbooks.open("C:\1.xls")
workbook.SaveAs "c:\1.csv" , 23 'xlCSVWindows



workbook.Close

xapp.Quit
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38837082
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

...если не пользоваться Excel.Application, а подключаться через ADO, то можно руками прописать все разделители и сохранить в файл как надо ...
Использование ADO с данными Excel из Visual Basic или VBA

...но, возможно, в данном случае это избыточно ... Хотя я предпочитаю именно такой путь для скриптов ..
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38837251
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

сейчас проверил, такой код отрабатывает без ошибок. Офис правда 2010, но на 2003 тоже должен нормально отработать.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
option explicit

Dim xapp
Dim workbook

set xapp = WScript.CreateObject("Excel.Application")
xapp.Visible = True
xapp.DisplayAlerts = False

set workbook = xapp.workbooks.open("C:\1\1.xls")
workbook.SaveAs "c:\1\1.csv", 23

xapp.Quit
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38837554
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user89,
прекращена работа exel
закрыть или искать ошибку в интернете
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38837564
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

но файл создался

НО с разделителями запятыми, а ме нужно ;
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38837641
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

может сервиспак последний на Офис накатить?
Создаем из Excel, текстовый файл через ADO c любым разделителем
Код: vbnet
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.
option explicit

dim rs, ConnectionString, s, i, fso, f, Separator
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateTextFile("c:\1\1.csv", True)

Set rs = CreateObject("ADODB.Recordset")
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1\1.xls;User ID=Admin;Password=;Extended Properties=""Excel 8.0;IMEX=1""" 'IMEX=1 нужен, чтобы корректно прочитался столбец, если в нем идут вмеперешку ячейки с числами, датами, строками...

rs.Open "select * from [Лист1$]", ConnectionString

s = ""
Separator = ";"

'Заголовок
for i = 0 to rs.Fields.Count - 1
	s = s & CStr(rs.Fields(i).Name) & Separator
next
f.WriteLine(s)

'Бегаем по данным
while not rs.EOF
		s = ""
		for i = 0 to rs.Fields.Count - 1
			s = s & CStr(rs.Fields(i).Value) & Separator
		next
	f.WriteLine(s)
	rs.MoveNext
wend

rs.Close
Set rs = Nothing

f.Close
set f = nothing
set fso = nothing

...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38837726
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user89,
вставил в .vbs и изменил пути к файлу, выдает ошибку стора 25
Код: vbnet
1.
s = s & CStr(rs.Fields(i).Value) & Separator


что подправить или доустановить?
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38837743
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user89adminsamara,

может сервиспак последний на Офис накатить?
Создаем из Excel, текстовый файл через ADO c любым разделителем
Код: vbnet
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.
option explicit

dim rs, ConnectionString, s, i, fso, f, Separator
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateTextFile("c:\1\1.csv", True)

Set rs = CreateObject("ADODB.Recordset")
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1\1.xls;User ID=Admin;Password=;Extended Properties=""Excel 8.0;IMEX=1""" 'IMEX=1 нужен, чтобы корректно прочитался столбец, если в нем идут вмеперешку ячейки с числами, датами, строками...

rs.Open "select * from [Лист1$]", ConnectionString

s = ""
Separator = ";"

'Заголовок
for i = 0 to rs.Fields.Count - 1
	s = s & CStr(rs.Fields(i).Name) & Separator
next
f.WriteLine(s)

'Бегаем по данным
while not rs.EOF
		s = ""
		for i = 0 to rs.Fields.Count - 1
			s = s & CStr(rs.Fields(i).Value) & Separator
		next
	f.WriteLine(s)
	rs.MoveNext
wend

rs.Close
Set rs = Nothing

f.Close
set f = nothing
set fso = nothing



Установил СП 3 таже ошибка, причем что на 2003 что на 2010 офисе, есть еще соображения?
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38837859
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamaraвставил в .vbs и изменил пути к файлу, выдает ошибку стора 25
Код: vbnet
1.
s = s & CStr(rs.Fields(i).Value) & Separator

Текст ошибки???

Еще, может проблема в самом файле Excel?
Прилагаю xls, над которым экспериментировал. Прогоните его первым способом 17017823 и вторым 17020069
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838020
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

ой, файл забыл. Вот он.
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838100
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara
Установил СП 3 таже ошибка, причем что на 2003 что на 2010 офисе, есть еще соображения?

.. так а там офис-то и не нужен ... если файл нормальный
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838275
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

на 3 разных пк пробовал, ошибка, одна и таже. офис и ос с одного дистрибутива
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838284
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на торрент ткните где офис скачивали....
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838301
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamaraвставил в .vbs и изменил пути к файлу, выдает ошибку стора 25
Код: vbnet
1.
s = s & CStr(rs.Fields(i).Value) & Separator

Текст ошибки???

Еще, может проблема в самом файле Excel?
Прилагаю xls, над которым экспериментировал. Прогоните его первым способом 17017823 и вторым 17020069
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838305
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user89,
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: EXCEL.EXE
Версия приложения: 14.0.6106.5005
Отметка времени приложения: 4e26f27d
Имя модуля с ошибкой: MSVBVM60.DLL
Версия модуля с ошибкой: 6.0.98.15
Отметка времени модуля с ошибкой: 4a5bda6c
Код исключения: c0000005
Смещение исключения: 000e49ad
Версия ОС: 6.1.7600.2.0.0.256.1
Код языка: 1049

Дополнительные сведения об этой проблеме:
LCID: 1049
skulcid: 1049

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
C:\Windows\system32\ru-RU\erofflps.txt



файл ваш подгружал
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838317
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

... вы, вероятно, не совсем поняли ... тот скрипт, который предложил user89, вообще не требует установленного MS Office ....
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838324
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

парни извиняйте, пятница, подскажите как что?! какие действия? что сделать?
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838325
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

только не стебитесь, если есть желание расскажите как сделать, у меня руки опустились уже(((
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838337
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamaraadminsamara,

только не стебитесь, если есть желание расскажите как сделать, у меня руки опустились уже(((

... ну так возьми полностью код из поста user89, сохрани его как скрипт chototam.vbs и запусти сначала на пробном файле (который выложил он), а потом на своем ... Никакого Excel.Application там не надо ...
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838347
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... или попробуй мой вариант, что те же яйцы, только с боку

Код: vbnet
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.
Set objConnXLS = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
Set FileSys = CreateObject("Scripting.FileSystemObject")
Set OutFile = FileSys.OpenTextFile("1.csv", 8, true)
objConnXLS.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=1.xls;Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"";"
objRecordSet.Open "SELECT * FROM [Лист1$]", objConnXLS, 3, 3
If Not objRecordSet.EOF AND Not objRecordSet.BOF Then
	objRecordSet.MoveFirst
	For intColumns = 0 To (objRecordset.Fields.Count - 1)
		If intColumns < objRecordset.Fields.Count - 1 Then
			strDelimiter = ";"
		Else
			strDelimiter = ""
		End If	
        	strHeader = strHeader + objRecordset.Fields.Item(intColumns).Name & strDelimiter
    	Next
	OutFile.WriteLine strHeader
	arrRecords = objRecordSet.GetRows
	For i = 0 To UBound(arrRecords, 2)
		strRow = ""
		For intColumns = 0 To (objRecordset.Fields.Count - 1)
			If intColumns < objRecordset.Fields.Count - 1 Then
				strDelimiter = ";"
			Else
				strDelimiter = ""
			End If
			strRow = strRow & arrRecords(intColumns, i) & strDelimiter
		Next
		OutFile.WriteLine strRow
	Next	
End If
OutFile.Close
objRecordSet.Close
objConnXLS.Close
Set objRecordSet = Nothing
Set objConnBank = Nothing
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838385
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

откуда запускать скрипт и где должен находится файл?
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838389
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamaracarrotik,

откуда запускать скрипт и где должен находится файл?

... главное, из одного места (т.е. одной папки) ... или поправить пути к 1.xls и 1.csv, например

Код: vbnet
1.
2.
3.
4.
Set OutFile = FileSys.OpenTextFile("d:\1.csv", 8, true)
...
objConnXLS.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\1.xls;Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"";"
...
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838442
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понимаю, какие проблемы, почему тема еще не закрыта :))
Здесь уже упоминался метод через Microsoft.Jet.OLEDB.4.0 , а еще можно еще через Microsoft.ACE.OLEDB.12.0 попробовать.

Вот готовое решение, где есть то и то: xls to csv
Там все на vbs , а форма на HTA
и да, тоже не требует наличия установленного офиса.
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838925
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

так и раньше делал, выпадает в ошибку строка 5 символ 1...
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838938
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ART-CODE,
мне нужно не через форму...,
мне нужно чтобы из батника запустился .vbs, переконвертиковался файл в csv и подгрузился через sqlldr в oracle.
может что попробовать переустановить?! чтоьы скрипты нормально запускались?
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838952
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamaracarrotik,

так и раньше делал, выпадает в ошибку строка 5 символ 1...

..а текст ошибки? .. может драйвер OLEDB не установлен в системе?
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838964
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установил виртуалку и о чудо 2 скрипта отрабатываются без ошибок!!!
Код: vbnet
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.
Set objConnXLS = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
Set FileSys = CreateObject("Scripting.FileSystemObject")
Set OutFile = FileSys.OpenTextFile("1.csv", 8, true)
objConnXLS.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=1.xls;Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"";"
objRecordSet.Open "SELECT * FROM [Лист1$]", objConnXLS, 3, 3
If Not objRecordSet.EOF AND Not objRecordSet.BOF Then
	objRecordSet.MoveFirst
	For intColumns = 0 To (objRecordset.Fields.Count - 1)
		If intColumns < objRecordset.Fields.Count - 1 Then
			strDelimiter = ";"
		Else
			strDelimiter = ""
		End If	
        	strHeader = strHeader + objRecordset.Fields.Item(intColumns).Name & strDelimiter
    	Next
	OutFile.WriteLine strHeader
	arrRecords = objRecordSet.GetRows
	For i = 0 To UBound(arrRecords, 2)
		strRow = ""
		For intColumns = 0 To (objRecordset.Fields.Count - 1)
			If intColumns < objRecordset.Fields.Count - 1 Then
				strDelimiter = ";"
			Else
				strDelimiter = ""
			End If
			strRow = strRow & arrRecords(intColumns, i) & strDelimiter
		Next
		OutFile.WriteLine strRow
	Next	
End If

OutFile.Close
objRecordSet.Close
objConnXLS.Close
Set objRecordSet = Nothing
Set objConnBank = Nothing



и

Код: vbnet
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.
option explicit

dim rs, ConnectionString, s, i, fso, f, Separator
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateTextFile("c:\1\1.csv", True)

Set rs = CreateObject("ADODB.Recordset")
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1\1.xls;User ID=Admin;Password=;Extended Properties=""Excel 8.0;IMEX=1""" 'IMEX=1 нужен, чтобы корректно прочитался столбец, если в нем идут вмеперешку ячейки с числами, датами, строками...

rs.Open "select * from [Лист1$]", ConnectionString

s = ""
Separator = ";"

'Заголовок
for i = 0 to rs.Fields.Count - 1
	s = s & CStr(rs.Fields(i).Name) & Separator
next
f.WriteLine(s)

'Бегаем по данным
while not rs.EOF
		s = ""
		for i = 0 to rs.Fields.Count - 1
			s = s & CStr(rs.Fields(i).Value) & Separator
		next
	f.WriteLine(s)
	rs.MoveNext
wend

rs.Close
Set rs = Nothing

f.Close
set f = nothing
set fso = nothing
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38838971
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно переустановлю ОС

Парни последний вопрос, как взять все exl в папке и перегнать в csv

пробовал *.exl *.csv не прокатило (
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839000
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

.. как перечислить файлы в папке
Enumerating the Files in a Folder

... там еще надо вставить проверку на расширение, например
Код: vbnet
1.
2.
3.
If UCase(objFSO.GetExtensionName(objFile.name)) = "XLS" Then
        ......
    End If



ну и соответственно вместо имени входного файла использовать obFile.Name, а вместо выходного -

Код: vbnet
1.
objFSO.GetBaseName(objFile.name) & ".csv"
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839011
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,
Можно пример использования?
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839040
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamaracarrotik,
Можно пример использования?

vb-script надо проверять на живой системе, а меня windows под рукой нету ... или жди понедельника, или сам пробуй ... :)
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839045
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

примерно хотя бы смысл и последовательность накидай) куда как и зачем должно идти
куда деваться буду ждать понедельника)
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839046
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,
выше 2 скрипта есть, подправь один из них, я посмотрю хотябы на каких местах дожно быть что, а там может сам додумаю...)
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839052
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

вот примерно так, но могу зрительно ошибиться где-то, на глаз код отладить не могу .... предположим, что файлы в папке d:\MyXLS

Код: vbnet
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.
Set objConnXLS = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
Set FileSys = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("d:\MyXLS")
Set colFiles = objFolder.Files
For Each objFile in colFiles
If UCase(objFSO.GetExtensionName(objFile.name)) = "XLS" Then
Set OutFile = FileSys.OpenTextFile(objFSO.GetBaseName(objFile.Name) & ".csv", 8, true)
objConnXLS.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & objFile.Name & ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"";"
objRecordSet.Open "SELECT * FROM [Лист1$]", objConnXLS, 3, 3
If Not objRecordSet.EOF AND Not objRecordSet.BOF Then
	objRecordSet.MoveFirst
	For intColumns = 0 To (objRecordset.Fields.Count - 1)
		If intColumns < objRecordset.Fields.Count - 1 Then
			strDelimiter = ";"
		Else
			strDelimiter = ""
		End If	
        	strHeader = strHeader + objRecordset.Fields.Item(intColumns).Name & strDelimiter
    	Next
	OutFile.WriteLine strHeader
	arrRecords = objRecordSet.GetRows
	For i = 0 To UBound(arrRecords, 2)
		strRow = ""
		For intColumns = 0 To (objRecordset.Fields.Count - 1)
			If intColumns < objRecordset.Fields.Count - 1 Then
				strDelimiter = ";"
			Else
				strDelimiter = ""
			End If
			strRow = strRow & arrRecords(intColumns, i) & strDelimiter
		Next
		OutFile.WriteLine strRow
	Next	
End If
OutFile.Close
objRecordSet.Close
objConnXLS.Close
End If
Next
Set objRecordSet = Nothing
Set objConnXLS = Nothing



.. но тут еще надо следить за тем, как называется первый лист в Экселовском файле, плюс желательно выходные файлы создавать в другой папке, ну и еще чего-нибудь может вылезти .. Вообще говоря, если тебе в Оракл надо их сбрасывать, то можно и напрямую, без преобразования в CSV, только строку подключения правильно подобрать и драйвер оракловский установить ...
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839060
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,
http://www.oracle.com/technetwork/database/database-technologies/rdb/downloads/othersoft-087176.html

какой из этих драйверов грузить?
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839062
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,
ругается на строка 4 символ 1
давай тогда до завтра подожду
я думаю не имеет смысл через драйвер, нужна простая 1 операция, давай лучше до завтра
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839064
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

требуется объект objFSO
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839067
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamaraadminsamara,

требуется объект objFSO

..ну да .. я же из разных примеров тащил ..
поменяй
FileSys на objFSO везде, где встречается
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839073
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

ничего не вышло, ладно до завтра подожду) спасибо большое за помощь)
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839316
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

Я тут жду вашей помощи =)
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839611
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,
Код: vbnet
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.
Set objConnXLS = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("c:\")
Set colFiles = objFolder.Files
For Each objFile in colFiles
If UCase(objFSO.GetExtensionName(objFile.name)) = "XLS" Then
Set OutFile = objFSO.OpenTextFile(objFSO.GetBaseName(objFile.Name) & ".csv", 8, true)
objConnXLS.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & objFile.Name & ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"";"
objRecordSet.Open "SELECT * FROM [Лист1$]", objConnXLS, 3, 3
If Not objRecordSet.EOF AND Not objRecordSet.BOF Then
    objRecordSet.MoveFirst
    For intColumns = 0 To (objRecordset.Fields.Count - 1)
        If intColumns < objRecordset.Fields.Count - 1 Then
            strDelimiter = ";"
        Else
            strDelimiter = ""
        End If  
            strHeader = strHeader + objRecordset.Fields.Item(intColumns).Name & strDelimiter
        Next
    OutFile.WriteLine strHeader
    arrRecords = objRecordSet.GetRows
    For i = 0 To UBound(arrRecords, 2)
        strRow = ""
        For intColumns = 0 To (objRecordset.Fields.Count - 1)
            If intColumns < objRecordset.Fields.Count - 1 Then
                strDelimiter = ";"
            Else
                strDelimiter = ""
            End If
            strRow = strRow & arrRecords(intColumns, i) & strDelimiter
        Next
        OutFile.WriteLine strRow
    Next    
End If
OutFile.Close
objRecordSet.Close
objConnXLS.Close
End If
Next
Set objRecordSet = Nothing
Set objConnXLS = Nothing



РАЗОБРАЛСЯ =)
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839768
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminsamara,

..ну вот и ладненько ... что касается варианта с импортом напрямую из Экселя в Оракл - я с ораклом никогда не работал, поэтому некоторых нюансов могу не знать, но импорт из Экселя в MS SQL через VB-скрипт у меня работал и без особых проблем .... Просто создаются два ADODB подключения, одно к Экселю, другое к SQL, и вынимается/вставляется ....
...
Рейтинг: 0 / 0
Конвертер xls в csv
    #38839800
Фотография adminsamara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тему можно закрывать =) решение найдено!
...
Рейтинг: 0 / 0
51 сообщений из 51, показаны все 3 страниц
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Конвертер xls в csv
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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