Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 05.02.2014
Сообщений: 126

Конвертер xls в csv всех файлов в папке

22.12.2014, 11:03. Показов 1192. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Посмотрите , в чем ошибка?

VB.NET
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.objFSO.Object")
Set objFolder = objFSO.GetFolder("с:\my")
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
Добавлено через 17 минут
Работает) посмотрите все ок?

VB.NET
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
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.12.2014, 11:03
Ответы с готовыми решениями:

Первые листы всех XLS файлов в папке перенести в один XLS файл
То есть: 1. В предварительно заданной папке (например, &quot;c:/1&quot;) лежат несколько десятков XLS файлов. 2. В каждом файле есть один лист. ...

Доработать программу для экспорта файлов .csv в .xls
Есть шедевр говнокода на делфи, исходники которого мне увы недоступны, который генерирует (немного криво) отчетность в .csv. Мне нужно их...

Работа с файлами и каталогами. Удаление всех пустых строк у всех файлов лежащих в одной папке
В одной папке находится множество текстовых файлов *.txt Все файлы содержат некоторый текст Между строк каждого файла могут встречаться...

2
 Аватар для Nachrichter
649 / 601 / 92
Регистрация: 19.03.2012
Сообщений: 1,128
22.12.2014, 11:08
Если
Цитата Сообщение от djslayer Посмотреть сообщение
Работает)
это "ОК" априори!
А в чём проблема-то была?
0
2 / 2 / 0
Регистрация: 05.02.2014
Сообщений: 126
22.12.2014, 11:19  [ТС]
запарился, переделывал скрипт, пропустил значение =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2014, 11:19
Помогаю со студенческими работами здесь

Обратиться к файлу в папке через CSV модуль и Параметры CSV
Доброго времени суток, я чувствую что решение проблемы простое, но никак не могу найти решение в общем есть папка с проектом на питоне и...

Поиск и удаления всех файлов с расширением doc и xls
Нужно провести поиск по всему компьютеру и найденные файлы с расширением word 2003(doc), excel 2003(xls), и word 2007(dosx), excel...

Открытие из заданного каталога всех файлов с заданым расширением (xls)
Никак не могу найти решение своей задачи, если у кого-нибудь есть желание и возможность, то помогите составить алгоритм/программу для...

Обработка всех файлов в папке
Приветствую, друзья! Очень нужна помощь с такой задачкой: Есть папка, в ней куча файлов. Файл с текстом внутри (блокнотом открываются...

Обработка всех файлов в папке
Добрый день! Обрабатываю файл .txt. результат записываю в другой файл .txt. Делаю это следующим образом:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru