Ошибка возможно неверно указан номер листа книги excel

Получить 200 видеоуроков по 1С бесплатно:

  • Бесплатный видео самоучитель по 1С Бухгалтерии 8.2 и 8.3;
  • Самоучитель по новой версии 1С ЗУП 3.0;
  • Хороший курс по 1С Управление торговлей 11.

Елена Судницына 16.10.2012
Здравствуйте, Елена!
Сегодняшнюю часть модуля 5 по загрузке данных в 1С из Экселя просмотрела, очень хотела проделать все сама, но при «Загрузке данных из табличного документа» при выборе файла «Сотрудники» программа мне пишет «Ошибка. Возможно неверно указан номер листа книги Excel.» (работаю в учебной базе). Обидно.

Елена Грянина
А просто файл XLS можете открыть? Если можете – скопируйте тогда все данные из екселя в буфер, а потом вставьте их в обработку на закладку Табличный документ.

Елена Судницына
Спасибо огромное, Елена!
Воспользовалась вашими рекомендациями, и всё получилось! У меня дома стоит Exсel Starter 2010. Возможно, проблемы связаны с ограниченной функциональностью этой программы.

Вам будет интересно

Дата публикации: Апр 19, 2013

Поставьте вашу оценку этой статье:

Загрузка…

Возможно неверно указан номер листа книги Excel ☑ 0

ac13

08.08.18

13:08

Попытка

        Excel = Новый COMОбъект(«Excel.Application»);

        Excel.WorkBooks.Open(ИмяФайла);

        Состояние(«Обработка файла Microsoft Excel…»);

        ExcelЛист = Excel.Sheets(НомерЛистаExcel);

    Исключение

        Сообщить(«Ошибка. Возможно неверно указан номер листа книги Excel.»);

        Возврат ложь;

        
    КонецПопытки;

Если на компе нет экселя, то никак не загрузить?

1

МихаилМ

08.08.18

13:13

через oledb(ado), odbc, распаковать в xml

2

13_Mult

08.08.18

13:45

3

ac13

08.08.18

13:48

(1) (2) спасибо!

4

ac13

08.08.18

15:19

А как получить имя первого листа?

ПодключениеADODB = «MicrosoftJetOLEDB40»;

ФайлEXCEL = ИмяФайла;

ИмяЛиста = ???;

СтрокаЗаголовка = 1;

НачСтрока = 0;

КонСтрока = 0;

СonnectionString = «Provider=Microsoft.Jet.OLEDB.4.0;Data Source= »  + СокрЛП(ФайлEXCEL) + «;Extended Properties=»»Excel 8.0;HDR=YES;IMEX=1;»»»;

Попытка

     ADODBConnection = Новый COMОбъект(«ADODB.Connection»);

     ADODBConnection.ConnectionString =  СonnectionString;

     ADODBConnection.Open();

     ADODBConnection.CursorLocation = 3;

Исключение

     Сообщить(НСтр(«ru = ‘»+ОписаниеОшибки()+»‘»), СтатусСообщения.Внимание);

КонецПопытки;

ТекстЗапроса = «SELECT * FROM [» + ИмяЛиста + «$]»;

5

Михаил Козлов

08.08.18

15:52

Я так делал (не знаю, правильно ли — не спец):

Catalog = Новый COMОбъект(«ADOX.Catalog»);

Catalog.ActiveConnection = ADODB;

колвоЛистов = Catalog.Tables.Count;

ДЛЯ лст = 0 ПО колвоЛистов-1 Цикл

  ИмяЛиста = СокрЛП(Catalog.Tables(лст).Name);

  поз = Найти(ИмяЛиста,»$_»);

  Если поз=0 Тогда                

    ЗагрузитьДанныеЛиста(ИмяЛиста);

  КонецЕсли;

КонецЦикла;

6

Вафель

08.08.18

15:54

можно читать через табличный документ

7

singlych

08.08.18

15:54

ТабличныйДокумент = Новый ТабличныйДокумент;

ТабличныйДокумент.Прочитать(ИмяФайла);

8

ac13

08.08.18

17:24

(5) так получилось, спасибо!

9

ac13

09.08.18

17:13

Есть возможность загружать файлы и XLS и XLSX

Так грузит только XLS

СonnectionString = «Provider=Microsoft.Jet.OLEDB.4.0;Data Source= »  + СокрЛП(ФайлEXCEL) + «;Extended Properties=»»Excel 8.0;HDR=YES;IMEX=1;»»»;

На этот метод

СonnectionString = «Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};Dbq=» + СокрЛП(ФайлEXCEL) + «;»;

выдает

Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

10

hhhh

09.08.18

17:38

(9) ну тогда (7)

11

ac13

09.08.18

17:54

(10) если можно так, зачем тогда используют эти методы ?

12

Deon

09.08.18

17:55

(11) Раньше нельзя было

13

Cyberhawk

09.08.18

18:13

Надежнее и управляемее, чем чтение xml, способа нет

14

MaxS

09.08.18

19:40

В 1С в режиме предприятия Файл — Открыть, выбрать excel файл

15

ac13

10.08.18

08:41

(14) нет, мне нужно файл не открывать, а загружать

Автор zzbars, 05 фев 2012, 16:04

0 Пользователей и 1 гость просматривают эту тему.

Не получается загрузить таблицу в 1С.

Запускаю обработку: «ЗагрузкаДанныхИзТабличногоДокумента.epf»
Загружаю .xls файл.
Не грузит, и выдает ошибку: «Ошибка. Возможно неверно указан номер листа книги Excel».

Что это за ошибка? Как с ней бороться. В интернете ничего не нашел.
Все делаю по инструкции, а она постоянно выскакивает!

Подскажите, пожалуйста, в чем дело.


Желательно было пример кода привести.
Вы просто не к той странице в Экселе обращаетесь.


Возможно… А где его (код) посмотреть?
И к какой же странице в Эксель обращаться?

Думал, проблема в Open Excel… Поставил Microsoft, проблема осталась(


Не понял. А какой обработкой загружаете информацию?
Ведь именно в этой обработке  и надо смотреть.



Когда открываете ЭКСЕЛЬ (тот файл который пытаетесь загрузить в 1С) там внизу Листы вообще есть?

(Создайте новый «Пустой» файл ЭКСЕЛЯ и скопируйте туда все из вашего файла и попробуйте загрузить)

Если долго всматриваться в учебник…то в голову может прийти мысль его открыть!


Работа с Excel

Сюда объеденяю разные методы работы с табличным редактором Excel.

Чтение и использование мтода «Область.Value.Выгрузить()»

&НаКлиенте
Функция ПрочитатьТабличныйДокументИзExcel()xlLastCell      = 11;
   
НомерЛистаExcel = НомерЛиста;ВыбФайл = Новый Файл(ИмяФайла);
    Если НЕ
ВыбФайл.Существует() Тогда
       
Сообщить(«Файл не существует!»);
        Возврат Ложь;
    КонецЕсли;

    Попытка

Excel = Новый COMОбъект(«Excel.Application»);
       
Excel.WorkBooks.Open(ИмяФайла);
       
ExcelЛист = Excel.Sheets(НомерЛистаExcel);
    Исключение
       
Сообщить(«Ошибка. Возможно неверно указан номер листа книги Excel.»);
        Возврат ложь;

    КонецПопытки;

ActiveCell = Excel.ActiveCell.SpecialCells(xlLastCell);
   
ВсегоСтрок = ActiveCell.Row;
   
ВсегоКолонок = ActiveCell.Column;

    Если

НачальнаяСтрока > ВсегоСтрок Тогда Возврат Ложь КонецЕсли;Область = ExcelЛист.Range(ExcelЛист.Cells(НачальнаяСтрока, 1), ExcelЛист.Cells(ВсегоСтрок, ВсегоКолонок));
   
МассивДанныхКолонок = Область.Value.Выгрузить();ЗаполнитьТабличныйДокументИзМассива(МассивДанныхКолонок, ВсегоСтрокНачальнаяСтрока +1, ВсегоКолонок);Excel.WorkBooks.Close();
   
Excel.Quit();
   
Excel = 0;

    Возврат Истина;

КонецФункции

// ()&НаСервере
Процедура ЗаполнитьТабличныйДокументИзМассива(МассивДанныхКолонок, ВсегоСтрок, ВсегоКолонок)Колонки = Новый Соответствие();
   
Колонки.Вставить(НомерКолонкиКодПоставщика, «КодПоставщика»);   Колонки.Вставить(НомерКолонкиМодель,            «Модель»);          Колонки.Вставить(НомерКолонкиВидОдежды,         «ВидОдежды»);
   
Колонки.Вставить(НомерКолонкиНаименование«Наименование»);    Колонки.Вставить(НомерКолонкиЦвет,              «Цвет»);            Колонки.Вставить(НомерКолонкиСтавкаНДС,         «СтавкаНДС»);
   
Колонки.Вставить(НомерКолонкиАртикул,       «Артикул»);         Колонки.Вставить(НомерКолонкиПол,               «Пол»);             Колонки.Вставить(НомерКолонкиКоличество,        «Количество»);
   
Колонки.Вставить(НомерКолонкиСтрана,        «Страна»);          Колонки.Вставить(НомерКолонкиРазмер,            «Размер»);          Колонки.Вставить(НомерКолонкиЦенаСНДС,          «ЦенаСНДС»);
   
Колонки.Вставить(НомерКолонкиПроизводитель, «Производитель»);   Колонки.Вставить(НомерКолонкиРост,              «Рост»);            Колонки.Вставить(НомерКолонкиРозничнаяЦенаСНДС, «РозничнаяЦенаСНДС»);
   
Колонки.Вставить(НомерКолонкиМаркаБренд,    «МаркаБренд»);      Колонки.Вставить(НомерКолонкиСоставМатериала,   «СоставМатериала»);ТЗ = Новый ТаблицаЗначений;
    Для
Счетчик = 1 По ВсегоКолонок ЦиклИмяКолонки = Колонки.Получить(Счетчик);
        Если
ИмяКолонки = Неопределено Тогда
           
ТЗ.Колонки.Добавить(«Колонка»+Счетчик, Новый ОписаниеТипов(«Строка»));
            Продолжить;
        КонецЕсли;
ТЗ.Колонки.Добавить(ИмяКолонки, Новый ОписаниеТипов(«Строка»));

    КонецЦикла;

    Для

Счетчик = 1 По ВсегоСтрок Цикл НоваяСтрока = ТЗ.Добавить() КонецЦикла;

    Для

Счетчик = 0 По ВсегоКолонок1 Цикл ТЗ.ЗагрузитьКолонку(МассивДанныхКолонок[Счетчик], Счетчик) КонецЦикла;//ОбработатьДанныеТабличногоДокументаНаСервере(ТЗ); здесь уже передается таблица значений дальше для обработкиКонецПроцедуры

Часто при работе с 1С 8.3 возникают такие ситуации, когда есть данные, например, в Excel файле, и их необходимо занести в программу. Ручной ввод может потребовать колоссального количества времени, а так же существует большая вероятность совершить ошибку.

В том случае, когда у вас нет возможности привлечь специалиста для решения данной задачи, воспользуйтесь типовой обработкой на управляемых формах от фирмы 1С. Скачать ее можно либо на диске ИТС, либо по ссылке ЗагрузкаДанныхИзТабличногоДокумента.epf.

Если вас интересует загрузка для обычных форм 1С — инструкция доступна по ссылке.

Подготовка в загрузке в 1С

Первым делом необходимо открыть данную обработку в режиме «1С:Предприятие». В меню «Файл» нажмите на пункт «Открыть» и в появившемся окне выберите обработку там, где вы её сохранили. Так же можно воспользоваться сочетанием горячих клавиш «Ctrl+O».

Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.

Связаться с нами можно по телефону +7 499 350 29 00.

Услуги и цены можно увидеть по ссылке.

Будем рады помочь Вам!

Если обработка не открылась, скорее всего, у вашей учетной записи нет права «Открытие внешних отчетов и обработок».

После успешного открытия данной обработки, первым делом нужно указать, куда будут загружаться данные. В рассмотренном примере данные будут загружаться в документ «Установка цен номенклатуры». Проще говоря, загружать в 1С 8.3 мы будем прайс-лист в формате Excel. Инструкция будет очень сильно похожа для загрузки накладных.

Создадим новый документ «Установка цен номенклатуры», либо можно использовать существующий. В нем укажем только два поля «Дата» и «Тип цен». В нашем случае будет использован тип «Оптовая цена». Табличную часть заполнять не нужно. Она будет заполнена при помощи обработки загрузки данных.

В форме обработки выберем соответствующий переключатель для загрузки в табличную часть. В поле ссылка подставляется созданный ранее документ «Установка цен номенклатуры». В поле «Табличная часть» — «Товары».

выбор табличной части 1С для загрузки

Данные можно загружать не только в табличные части документов, справочников, и пр., но и в сами справочники и регистры сведений.

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

указание колонок 1С 8.3

В данном примере мы рассмотрим наиболее удобный способ загрузки – из файла Excel. Нажмите на кнопку открытия и выберите файл с данными. Для открытия поддерживаются форматы: *.mxl», *.xls, *.txt, *.dbf. Все данные из файла попадут в табличный документ обработки.

выбор файла для загрузки

Проверка и контроль заполнения

В одной замечательной поговорке «Семь раз отмерь, один раз отрежь» поэтому перед загрузкой данных в 1С из табличного документа их необходимо проверить. Для этого нажмите на кнопку «Контроль заполнения».

контроль заполнения табличного документа

При выявлении каких-либо ошибок, появится сообщение, отражающее их количество таких строк. В тех ячейках, где было найдено несоответствие, будет указано примечание с причиной.

ошибка при загрузке

В данном случае в программе не найдена номенклатурная позиция «Брус 40*40*300». Перед загрузкой данных её необходимо создать или предварительно загрузить номенклатуру в 1с 8.3 из аналогичного файла с товарами.

Настройка загрузки

Рассмотрим подробнее вкладку «Настройка». На данной вкладке расположена табличная часть настройки выгружаемых данных. Каждая строка данной таблицы содержит настройку соответствующего реквизита. Для настройки доступны следующие параметры:

  • «Пометка». Установленный флаг означает, что данный реквизит необходимо перегружать.
  • «Представление реквизита».
  • «Описание типов». Может принимать как один тип значения, так и несколько (составной тип данных).
  • «Режим загрузки» бывает трех разновидностей:
    • «Искать» — значение проставляется только если найдено.
    • «Вычислять» — значение вычисляется на основании указанного выражения.
    • «Устанавливать» — значение задается однозначно.
  • «Значение по умолчанию». В том случае, если не найдено данных для подстановки в реквизит, устанавливается значение из данной настройки.
  • «Условие связи / Выражение для значения» устанавливает поле, по которому будет совершен поиск. Для справочников более приоритетным является поиск по коду, так как зачастую он уникален. В случае, когда код неизвестен – можно оставить настройку по умолчанию и искать по наименованию. В таком случае в справочнике, где будет искаться реквизит не должно быть дублирующих строк.

настройка загрузки из табличного документа

После того, как вы успешно произвели настройку и проверку и контроль заполнения, можно загружать данные. Нажмите на гиперссылку «Загрузить данные». В сообщениях появится информация о выполнении данной операции. В нашем случае все прошло успешно.

процесс загрузки цен из экселя

Перейдем тот документ, куда мы загружали данные. Как можно увидеть, все значения заполнились верно.

созданная установка цен

Еще одну инструкцию по загрузке в 1С из Эксель на примере Номенклатуры смотрите в видео:

Понравилась статья? Поделить с друзьями:
  • Ошибка вольво p0026
  • Ошибка возможно камера используется другим приложением sony xperia
  • Ошибка возможно днс сервер недоступен
  • Ошибка во время установки windows 10 0x8007025d
  • Ошибка вольво motorsystem wart erforderl