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 уж это дело довели до ума...
Засада ...!!!
|
|