| 0
    
        Birmingem   16.08.17✎ 14:47 | 
        На сервере создаю ТабДок. Заполняю ячейки:
ТабДок.Область("R26C6").СодержитЗначение = Истина;
 ТабДок.Область("R26C6").ТипЗначения = Новый ОписаниеТипов("Дата");
 ТабДок.Область("R26C6").Значение = Отчет.НачалоПериода;
 
 Передаю ТабДок на клиента.
 На клиенте этот ТабДок записываю в файл Ексель:
 
 ОбратныйВызов = Новый ОписаниеОповещения("ЗаписьФайлаЗавершение", ЭтотОбъект, ДопПараметры, "ЗаписьФайлаОшибка", ЭтотОбъект);
 ТабДок.НачатьЗапись(ОбратныйВызов,НаимВремФайл,ТипФайлаТабличногоДокумента.XLS);
 
 В результате, в Ексель файле, в этой ячейке получается "01.08.2017 0:00:00" с форматом "Общий", а надо "Дата".
 Как быть?
 |  | 
    
        | 2
    
        Sh1neOne   16.08.17✎ 15:37 | 
        Попытка
Excel = Новый COMОбъект("Excel.Application");
 ФайлРеестра = Excel.WorkBooks.Open(СокрЛП(Файл));
 Состояние("Обработка файла Microsoft Excel...");
 ExcelЛист = ФайлРеестра.Sheets(1);
 
 КонСтрока=    Excel.ActiveSheet.UsedRange.Rows.Count;;
 КонСтолбец=Excel.ActiveSheet.UsedRange.Columns.Count;
 
 Для i=1 По КонСтрока  Цикл
 //Изменяем формат
 ExcelЛист.Cells(i,1).NumberFormat = "@";
 ExcelЛист.Cells(i,8).NumberFormat = "@";
 ExcelЛист.Cells(i,13).NumberFormat = "@";
 КонецЦикла;
 
 FullName = Excel.ActiveWorkbook.FullName;
 Excel.DisplayAlerts = false;
 Excel.ActiveWorkbook.SaveAs(FullName, 51);
 
 Excel.Visible = Истина;
 Excel.ActiveWindow.Activate();
 
 Исключение
 Excel.Quit();
 Сообщить("Ошибка. Возможно открыть файл Excel.");
 Excel = Неопределено;
 КонецПопытки;
 |  | 
    
        | 3
    
        Birmingem   16.08.17✎ 15:51 | 
        (3) Понятно. Но у меня несколько листов в одной книге Ексель, и там типы значений в разных ячейках разные. Тогда уж лучше сразу программно в Ексель выгружать, не создавая ТабДок.
 Блин ... в 7.7 была эта проблема - при сохранении печатной формы в Ексель форматы ячеек не сохранялись.
 Надеялся что в 8.3 уж это дело довели до ума...
 Засада ...!!!
 |  |