Имя: Пароль:
1C
1С v8
Вывод в Excel данных в заданном формате
0 Garnet27
 
10.11.15
12:29
Подскажите, пожалуйста, может быть, кто-то знает. Выгружаю большое количество данных в Excel. Для дальнейшей с ними работы необходимо, чтобы некоторые из ячеек были в текстовом формате. Но в этих ячейках стоят цифры. При открытии файла Excel на этих ячейках стоит зеленый треугольник и ошибка "Число в этой ячейке отформатировано как текст". Как избежать этой надписи? Отключить в настройках проверку, чтоб ее было просто не видно - не подходит. Можно ли убрать ее как-то по-другому? Выгрузиться без этой ошибки? Заранее большое спасибо.
1 Garnet27
 
10.11.15
12:31
Даже вручную уже копирую в столбец рядом следующую конструкцию: ""&[номерячейки] - все супер, ошибка уходит. Но формулы в файле не должны быть, делаю - копировать - вставить значение - снова та же ошибка! Замкнутый круг...(((
2 Garnet27
 
10.11.15
12:33
Таким образом:

Для Индекс = 2 По ВсегоСтрок Цикл
  ЯчейкаЛС = Book.WorkSheets(1).Rows.Item(Индекс).Columns(2);
  ТекущееЗначение = ЯчейкаЛС.Text;
  ЯчейкаЛС.NumberFormat = "@";
...
КонецЦикла
3 Мимохожий Однако
 
10.11.15
12:43
='ТвоёЗначениеСтрокой.
поставь вперед апостроф
4 Garnet27
 
10.11.15
12:48
(3) ну...будет мое число и апостроф впереди, без ошибки. А нужно именно число. Или я не там ставлю?
5 cw014
 
10.11.15
12:48
А как ты число туда заносишь?
6 Garnet27
 
10.11.15
12:50
(5) выгрузкой из 1С, обычной, через COM
7 Альбатрос
 
10.11.15
12:50
(4) Ексель.Range(Область).NumberFormat = "@";//ставим текст

Ексель.Range(Область).NumberFormat = "0";//число
8 cw014
 
10.11.15
12:51
(6) Код покажи млин. Ты что, во что и каким образом пихаешь?
9 Garnet27
 
10.11.15
12:54
Ну вот...
Эксель = Новый COMОбъект("Excel.Application");
    
    НайденныеФайлы = НайтиФайлы(Объект.КаталогВыгрузки, Файл.Ключ);
    Для каждого Стр Из НайденныеФайлы Цикл
        
        ИмяФайла =   Стр.ПолноеИмя;
        Book = Эксель.Workbooks.Open(ИмяФайла);        
        Лист = Book.WorkSheets(1);        
          ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
        Для Индекс = 2 По ВсегоСтрок Цикл
                
            ЯчейкаЛС = Book.WorkSheets(1).Rows.Item(Индекс).Columns(2);
            ТекущееЗначение = ЯчейкаЛС.Text;
            ЯчейкаЛС.NumberFormat = "@";
//дальше очень много ячеек с заменой формата
    КонецЦикла;
        Book.Save();
        
    КонецЦикла;
    
    Эксель.WorkBooks.Close();
10 Garnet27
 
10.11.15
12:56
файл экселевский уже существует. Я его просто еще раз обрабатываю под требование заказчика. Ему нужны определенные форматы в определенных ячейках. Из 1С изначально выгружается как общий формат, через хранилище.
11 dk
 
10.11.15
13:19
вроде рабочий код в (9)
все равно вопрос при открытии задает? Формат исходных файлов какой?
12 Garnet27
 
10.11.15
13:32
(11) вопрос не при открытии... просто ячейки некоторые с ошибкой отображаются. Все работает, но не так, как нужно. Формат .XLSX