0
Shur1cIT
25.10.16
✎
14:53
|
Чтение идет без ошибок, но колонок нет скорее всего проблема с разделителем, в моём (случае таб) вот процедура,где ошибка?
в параметре Format=TabDelimited точно также как у microsoft написано
Функция Прочитать(Папка, ИмяФайла, КолПолей)
// Параметры:
// "Папка" - путь к файлу без имени файла с завершающим слешем,
// "ИмяФайла" - имя файла,
// "КолПолей" - количество колонок (число).
Текст = "[" + ИмяФайла + "]
|ColNameHeader=False
|Format=TabDelimited
|TextDelimiter=none
|CharacterSet=ANSI
|";
Для ы = 1 По КолПолей Цикл
Текст = Текст + "Col" + ы + "=Field" + ы + " Text" + Символы.ПС;
КонецЦикла;
ТекстДок = Новый ТекстовыйДокумент;
ТекстДок.УстановитьТекст(Текст);
ТекстДок.Записать(Папка + "Schema.ini");
objRec = Новый COMОбъект("ADODB.Recordset");
strQuery = "SELECT * FROM [" + ИмяФайла + "]";
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Папка + ";Extended Properties=""text;""";
adOpenStatic = 3;
adLockOptimistic = 3;
adCmdText = 1;
ТаблЗнач = Новый ТаблицаЗначений;
Для ы = 1 По КолПолей Цикл
ТаблЗнач.Колонки.Добавить();
КонецЦикла;
objRec.Open(strQuery, strConn, adOpenStatic, adLockOptimistic, adCmdText);
КолСтрок = objRec.RecordCount;
Ном = 1;
Пока Не objRec.EOF Цикл
Если Ном % 500 = 0 Тогда
Состояние(ИмяФайла + " " + Ном + " из " + КолСтрок);
КонецЕсли;
НовСтр = ТаблЗнач.Добавить();
Для i=0 По objRec.Fields.Count-1 Цикл
НовСтр[i] = Строка(objRec.Fields(i).Value);
КонецЦикла;
objRec.MoveNext();
Ном = Ном + 1;
КонецЦикла;
objRec.Close();
Возврат ТаблЗнач;
КонецФункции
|
|