Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
d200488
1

Загрузка из файла Excel

09.06.2011, 08:40. Показов 3382. Ответов 4
Метки нет (Все метки)

7.7 сетевая (7.70.025),Торговля и склад 7.70.011

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

Ячейка.Value=Лист.Cells(Стр, 1);
{Справочник.Номенклатура.ФормаСписка.ФормаСписка.Модуль(630) }: Значение не представляет агрегатный объект (Value)

вот пример кода:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Процедура ОткрытьВсеТовары()
   //
   ИмяФайла = "C:\Data_M3.xls";
   Эксель = СоздатьОбъект("Excel.Application");
   Эксель.Visible = 1;
   Книга = Эксель.WorkBooks.Open("C:\Data_M3.xls");
   Лист=Книга.Activesheet;
   Стр=0;
   
   Товар2 = СоздатьОбъект("Справочник.Номенклатура");
   //Товар.ВключатьПодчиненные(1);
   //Товар.ИспользоватьРодителя(ВыбТовар);
   Товар2.ВыбратьЭлементы();
 
   Пока Товар2.ПолучитьЭлемент()>0 Цикл
       
Ячейка=Товар2.Код;
Ячейка.Value=Лист.Cells(Стр, 1);
Ячейка=Товар2.Наименование;
Ячейка.Value=Лист.Cells(Стр, 2);
Ячейка=Товар2.ШтрихКод;
Ячейка.Value=Лист.Cells(Стр, 3);
      
   КонецЦикла
Может кто знает?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2011, 08:40
Ответы с готовыми решениями:

Загрузка Excel файла
Вот страница загрузки xls файла. if(isset($_POST)){ $lunch = new PanelLh; ...

Загрузка новосозданного Excel файла
Возможно, не ясно сформулировал название темы но суть такова: имеется две формы: первая форма...

Загрузка Excel-файла из BLOB
Здравствуйте. Каким способом можно загрузить xls файл из blob поля на сервере oracle с загрузкой...

Загрузка файла Excel в DataGridView
Всем привет! Столкнулся с очень интересной задачей, у меня не получается загрузить файл good.xls в...

4
Модератор
Эксперт 1С
3082 / 2768 / 523
Регистрация: 10.03.2011
Сообщений: 10,640
Записей в блоге: 1
09.06.2011, 22:52 2
А разве нельзя просто:
Товар2.Код = Лист.Cells(Стр, 1);
Товар2.Наименование = Лист.Cells(Стр, 2); ?????????
и т.д.

Добавлено через 2 минуты
Зачем от значения пытаться получить значение?
0
Acsel
08.07.2011, 16:46 3
Я из excel выгружал так:

ConExcel = ПолучитьComОбъект(".....");


Пока

стрДлина(ConExcel.Sheets(1).Cells(i, 1).Value) > 0 Цикл

НовыйЭлемент = Справочники.Справочник.СоздатьЭлемент();

НовыйЭлемент.Наименование=ConExcel.Sheets(1).Cells(i, 1).Value;

и тд
НовыйЭлемент.Записать();
Модератор
Эксперт 1С
3082 / 2768 / 523
Регистрация: 10.03.2011
Сообщений: 10,640
Записей в блоге: 1
08.07.2011, 20:47 4
Еще раз посмотри сюда ------ "Ячейка.Value", что такое ячейка????? Какой тип у Ячейка ????
(скажу сразу в первой строке у нее тип либо число либо строка "Ячейка=Товар2.Код;", вопрос откуда у строки есть свойство "Value"??? --- Ячейка = Лист.Cells(Стр, 1).Value)
Как то вот так...
1
308 / 308 / 1
Регистрация: 16.01.2011
Сообщений: 1,073
09.07.2011, 18:37 5
Может кто знает?
хрень написал
во первых не понятно что ты вообще пытаешься сделать? создать новые элементы номенклатуры или обновить существующие?

1C
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
Процедура ОткрытьВсеТовары()
   //
   ИмяФайла = "C:\Data_M3.xls";
   Эксель = СоздатьОбъект("Excel.Application");
   Эксель.Visible = 1;
   Книга = Эксель.WorkBooks.Open(ИмяФайла);
   Лист=Книга.Activesheet;
   //Стр=0;
   
   Товар2 = СоздатьОбъект("Справочник.Номенклатура");
 
   Для Стр = 0 По 400 Цикл // 400 - количество строк в таблице Эксель. Можно как то просчитать но не помню как.
    
    Ячейка1 = Лист.Cells(Стр, 1).Value);
    Ячейка2 = Лист.Cells(Стр, 2).Value);
    Ячейка3 = Лист.Cells(Стр, 3).Value);
Если Товар2.НайтиПоКоду(СокрЛП(Ячейка1)) = 0 Тогда
/// Создаем новый элемент
...
...
 
Иначе
// Обновляем существующий
Товар2.Код = Ячейка1;
Товар2.Наименование = Ячейка2;
Товар2.Штрихкод = Ячейка3;
Товар2.Записать();
КонецЕсли;
 
КонецЦикла
ну как то примерно так.
пофигуратора нет, пишу от балды
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.07.2011, 18:37

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

Загрузка файла Excel из ресурсов программы
Собственно вот. Как загрузить Excel из файла я знаю. А если я этот файл закину в ресурсы? Как его...

Генерация и загрузка excel-файла с сервера
Добрый день. С перлом работаю недавно, возникла такая проблема. Необходимо сгенерировать...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.