Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 сен 2024, 01:13

шаблон excel

Автор djvjv, 25 апр 2012, 13:11

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

djvjv

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

djvjv


Пожалуйста помогите

Vit1501

если у тебя алгоритм загрузки будет одинаков, то в обработке загрузки можешь сделать настройки типа "ПутьКфайлуШаблона" - строка, "НомерПервойСтрокиДляОбработки" - число и "НомерПервойКолонкиДляОбработки" - число и в процедуре загрузки использовать значения этих настроек

djvjv

Есть такой код. В нем прописано с условием что известно в какой строке определенная колонка.  А если заранее не известно, то какой код должен быть. Мне надо чтоб автоматически определяло 1-ые данные это 1,1 или 1,2 или 2,1 и т.п. - как сделать?

Док = ПолучитьCOMОбъект(ПутьКФайлу);

   Наименование= Док.Sheets(1).Cells(1,2).Value;
    счСтроки = 1;
   
   Пока СокрЛП(Наименование) <> "" Цикл   
      
      Артикул = Док.Sheets(1).Cells(СчСтроки,1).Value;
       //Наименование= Док.Sheets(1).Cells(СчСтроки,2).Value;                        
      Выборка = ПолучитьНоменклатуру(Наименование, Артикул);
      Если ЗначениеЗаполнено(Выборка) Тогда
         НоваяСтрока = ТаблицаЗначений.Добавить();
         НоваяСтрока.Номенклатура = Выборка.Ссылка;
         НоваяСтрока.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;
         НоваяСтрока.Количество = Док.Sheets(1).Cells(СчСтроки,3).Value;
         НоваяСтрока.ЦенаЗакупочная = Число(Док.Sheets(1).Cells(СчСтроки,4).Value);
         НоваяСтрока.СуммаЗакупочная = Число(Док.Sheets(1).Cells(СчСтроки,5).Value);
         НоваяСтрока.ПроцентНаценки = ПолучитьПроцент(ДоговорКонтрагента, Контрагент, НоваяСтрока.ЦенаЗакупочная);
         НоваяСтрока.СуммаНаценки = НоваяСтрока.ПроцентНаценки /100 * НоваяСтрока.ЦенаЗакупочная;
         НоваяСтрока.ЦенаРозница = НоваяСтрока.ПроцентНаценки /100 * НоваяСтрока.ЦенаЗакупочная + НоваяСтрока.ЦенаЗакупочная;
          НоваяСтрока.СуммаРозница = НоваяСтрока.ПроцентНаценки /100 * НоваяСтрока.СуммаЗакупочная + НоваяСтрока.СуммаЗакупочная;
      КонецЕсли;   
      
      счСтроки = счСтроки + 1;
      Наименование= Док.Sheets(1).Cells(СчСтроки,2).Value;
      
   КонецЦикла;

djvjv

жду помощи пожалуйста

Dethmontt

ExcelПриложение = Новый COMObject("Excel.Application");
ExcelФайл = ExcelПриложение.WorkBooks.Open(ИмяФайла);
ExcelЛист = ExcelФайл.Sheets(1);
ExcelПоследняяКолонка = ExcelЛист.Cells.SpecialCells(11).Column;

Для Сч=1 По 10 Цикл //Цикл по шапке проверяя первые 10 строк
     Для к=1 По ExcelПоследняяКолонка Цикл
          Если ExcelЛист.Cells(Сч,к).Value = "Наименование твоей колонки" Тогда //Или шаблону или еще чему то
                НомермоейКолонки = К;
                Прервать;
          КонецЕсли;
      КонецЦикла;
      Если ЗначениеЗаполнено(НомермоейКолонки) Тогда
            прервать;
      КонецЕсли;
КонецЦикла;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск