|
v7: Йоксель и длина строки |
☑ |
0
extrim-style
27.07.15
✎
14:40
|
Необходимо записать длинный текст в ячейке таблицы в xls. Делаю:
Йоксель = СоздатьОбъект("Йоксель");
ТабДок = СоздатьОбъект("ТабличныйДокумент");
ТабДок.ЗагрузитьИзТаблицы(Таб);
Таб.Записать("тестТаблица",1);
В mxl сохраняется нормально, в xls - обрезает. ЧЯДНТ? Версия Йокселя 01.01.27.
|
|
1
Ёпрст
гуру
27.07.15
✎
14:55
|
Спроси мелкософт, нахрена они сделали ограничение на длину строки в ячейке
|
|
2
extrim-style
27.07.15
✎
15:34
|
Всё получилось. Нужно было использовать конвертер + formex нужен.
Процедура ВыполнитьСохранениеЙоксель(гТаблица, ИмяВременногоФайла)
гТаблица.Записать (ИмяВременногоФайла);
КоличествоСтрок = гТаблица.ВысотаТаблицы ();
ИмяЛиста = "Лист ";
НомерЛиста = 1;
Конвертер = СоздатьОбъект ("КонвертерExcel");
Книга = Конвертер.Создать ();
Начало = 1;
Пока КоличествоСтрок > 0 Цикл
Документ = СоздатьОбъект ("ТабличныйДокумент");
Документ.Открыть (ИмяВременногоФайла);
Если Начало = 0 Тогда
Документ.УдалитьСтроки (1, 65536);
Документ.Записать (ИмяВременногоФайла);
Иначе
Начало = 0;
КонецЕсли;
Книга.Листы.Добавить (ИмяЛиста + НомерЛиста, Документ);
КоличествоСтрокВДокументе = Документ.ВысотаТаблицы ();
ЗаписаноСтрок = Мин (65536, КоличествоСтрокВДокументе);
КоличествоСтрок = КоличествоСтрок - Мин (КоличествоСтрок, ЗаписаноСтрок); // на всякий случай
НомерЛиста = НомерЛиста + 1;
КонецЦикла;
Книга.ПараметрыКонвертера.РаспознаватьЧисловыеЗначения = 1;
Книга.Записать (ИмяВременногоФайла);
КонецПроцедуры
код отсюда:
|
|
3
extrim-style
27.07.15
✎
15:35
|
+(2) нет. formex не нужен для простого программного сохранения.
|
|
4
ЛюбопытнаяЯ
27.07.15
✎
17:56
|
(2) Можно было все проще сделать:
ТабДок = СоздатьОбъект("ТабличныйДокумент");
ТабДок.ЗагрузитьИзТаблицы(Т);
ТабДок.Записать(ИмяФайла,"xls");
Только Обязательно не Таб.Записать(), а ТабДок.Записать. Тогда ничего не обрезает
|
|
5
extrim-style
28.07.15
✎
09:00
|
(4) да, спасибо, проглядел. Только ТабДок.Записать(ИмяФайлаПолностью,1);
|
|
6
extrim-style
28.07.15
✎
09:18
|
Почему то при сохранении длинной строки обрезает первую и последнюю строку пополам, а при печати не выводит нижнюю строку:
|
|
7
extrim-style
28.07.15
✎
09:25
|
+(6) причем в печатной форме в этой ячейке установлено Переносить и высота строки Авто.
|
|
8
Масянька
28.07.15
✎
09:25
|
(6) В Excel есть заморочки с объединенными ячейками. Попробуй в одну ячейку запихнуть, посмотри.
|
|