|
Загрузка данных из большого файла excel | ☑ | ||
---|---|---|---|---|
0
Lepochkin
23.10.13
✎
16:50
|
Есть экселевский файл в нем 433 колонки.
Загружаю вот так СтрПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ИмяФайла + ";Extended Properties=Excel 8.0;"; Connection = Новый COMОбъект("ADODB.Connection"); Connection.ConnectionString = СтрПодключения; Попытка Connection.Open(); Исключение сообщить(ОписаниеОшибки()); КонецПопытки; ТекстЗапроса = "SELECT * FROM [Лист1$]"; состояние("Запрос к листу EXСEL"); Запрос = Новый COMОбъект("ADODB.Recordset"); Запрос.Activeconnection = Connection; Попытка Запрос.Open(ТекстЗапроса); Исключение Сообщить ("Проблемы с выполнением запроса"); Возврат; КонецПопытки; КоличествоКолонок = Запрос.Fields.Count; Если Не Запрос.EOF Тогда Запрос.MoveFirst(); ид1 = 1; Пока Запрос.EOF = Ложь Цикл ОбработкаПрерыванияПользователя(); _КодУТ = Запрос.Fields(0).Value; Для ид = 1 По КоличествоКолонок-1 Цикл //----Заполняем данные КонецЦикла; Запрос.MoveNext(); Состояние("Чтение данных из Эксель... " + ид1); ид1 = ид1 + 1; КонецЦикла; КонецЕсли; Запрос.Close(); Connection.Close(); И все бы хорошо, но обрабатываются только первые 255 колонок. В чем ошибка? |
|||
1
shuhard
23.10.13
✎
16:54
|
(0)[КоличествоКолонок = Запрос.Fields.Count;]
а что здесь ? |
|||
2
Lepochkin
23.10.13
✎
17:02
|
255
|
|||
3
Lepochkin
23.10.13
✎
17:03
|
255 колонок было ограничение в 2003 экселе. Microsoft.ACE.OLEDB.12.0 - это вроде как поставщик 2007, но почему-то все равно срабатывает это ограничение
|
|||
4
Infsams654
23.10.13
✎
17:04
|
(2) а что тогда надо. Кстати до 2007-го, как раз максимальное количество колонок столько и было
|
|||
5
Dmitry1c
23.10.13
✎
17:05
|
КоличествоКолонок = 433;
Ваш кэп |
|||
6
Lepochkin
23.10.13
✎
17:10
|
(5) Вы о чем? Если вот так обратиться Запрос.Fields(257).Value, то будет ошибка. Потому что Count = 255
|
|||
7
shuhard
23.10.13
✎
17:12
|
(6) что-то мешает залезть на MSDN и позырить ?
|
|||
8
Lepochkin
23.10.13
✎
17:23
|
(7) Знания :-) Подскажите поподробнее
|
|||
9
МихаилМ
23.10.13
✎
17:25
|
Extended Properties="Excel 12.0
|
|||
10
Lepochkin
23.10.13
✎
17:28
|
(9) Не помогло
|
|||
11
mikecool
23.10.13
✎
17:44
|
странно, где Маньяк со своей приблудой? кастую в ветку )
|
|||
12
DailyLookingOnA Sunse
23.10.13
✎
17:46
|
MSDN:
255 is the column limit for provider i guess. Anyway try to use 'Range" in select command and see what is happening. string sql = "select * from [Foglio1$A1:BP1200]"; // apply range to the query |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |