Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Конвертер xls в csv / 25 сообщений из 51, страница 1 из 3
18.12.2014, 10:35
    #38836737
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
Создал 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
18.12.2014, 10:42
    #38836743
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
adminsamara,
торопился не описал что хочу: xls файл,хочу переделать в cvs, для загрузки его в БД (Oracle Sql*Loader обрабатывает только csv). Может кто знает программный способ конвертации xls в cvs? (создаю батник для подгрузки, так сказать автоматизирую процесс).
...
Рейтинг: 0 / 0
18.12.2014, 10:42
    #38836745
-k2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
adminsamara,

set workbook = xapp.WorkBooks.Open("C:\1.xls")
?
...
Рейтинг: 0 / 0
18.12.2014, 10:50
    #38836749
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
-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
18.12.2014, 11:04
    #38836760
-k2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
...
Рейтинг: 0 / 0
18.12.2014, 11:16
    #38836777
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
adminsamaraоткрываешь блокнотом там белеберда....потому что, во-первых, не cvs, а csv, а во-вторых нужно не только расширение указывать, но и формат сохранения. у тебя сохранился обычный xls под расширением cvs.
...
Рейтинг: 0 / 0
18.12.2014, 11:22
    #38836782
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
Antonariy,
где его указать?
вот это указать?

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

FileFormat:=xlCSV
...
Рейтинг: 0 / 0
18.12.2014, 12:55
    #38836902
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
нашел другой скрипт, но вместо ; стоят запятые, как поправить? и ошибку эксель постоянно выкидывает
Код: 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
18.12.2014, 14:39
    #38837082
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
adminsamara,

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

...но, возможно, в данном случае это избыточно ... Хотя я предпочитаю именно такой путь для скриптов ..
...
Рейтинг: 0 / 0
18.12.2014, 15:45
    #38837251
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
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
18.12.2014, 20:12
    #38837554
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
user89,
прекращена работа exel
закрыть или искать ошибку в интернете
...
Рейтинг: 0 / 0
18.12.2014, 20:24
    #38837564
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
adminsamara,

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

НО с разделителями запятыми, а ме нужно ;
...
Рейтинг: 0 / 0
18.12.2014, 23:21
    #38837641
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
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
19.12.2014, 07:51
    #38837726
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
user89,
вставил в .vbs и изменил пути к файлу, выдает ошибку стора 25
Код: vbnet
1.
s = s & CStr(rs.Fields(i).Value) & Separator


что подправить или доустановить?
...
Рейтинг: 0 / 0
19.12.2014, 08:40
    #38837743
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
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
19.12.2014, 10:42
    #38837859
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
adminsamaraвставил в .vbs и изменил пути к файлу, выдает ошибку стора 25
Код: vbnet
1.
s = s & CStr(rs.Fields(i).Value) & Separator

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

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

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

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

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

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

Еще, может проблема в самом файле Excel?
Прилагаю xls, над которым экспериментировал. Прогоните его первым способом 17017823 и вторым 17020069
...
Рейтинг: 0 / 0
19.12.2014, 16:20
    #38838305
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
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
19.12.2014, 16:29
    #38838317
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертер xls в csv
adminsamara,

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

парни извиняйте, пятница, подскажите как что?! какие действия? что сделать?
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Конвертер xls в csv / 25 сообщений из 51, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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