Хитрости сохранения табличного документа в Excel для дальнейшей работы с ним

Публикация № 323606 16.01.15

Задачи пользователя - Загрузка и выгрузка в Excel

xls excel

Все пользователи 1С всех версий (начиная с 7-й) сталкиваются с проблемой нормальной работы с данными, сохраненными в Excel файл.
Есть некоторые хитрости, которые позволяют облегчить работу с сохраненными данными из 1С в формат Excel.

Для дальнейшей работы с данными, полученными в табличном документе из системы 1С любой версии, их можно сохранить в формате xls(x).

Все бы хорошо, но при открытии в Excel-e пользователь сразу понимает, что с таблицей что-то не то, ну да, нет ярлыков листов книги. %)

Так было и в 7-й версии 1С и перекочевало в 8-ю, да, есть прогресс, в 8-ке можно сохранить в формате xlsx, родном формате последних версий Excel-я.

Для решения задачи есть несколько несложных манипуляций, первое, что приходит на ум любому пользователю, так это пересохранить таблицу в другой формат, но и тут нет нужного результата, потом начинаем делать копи-паст в новую книгу Excel. 
Есть еще вариант, как бы для продвинутых пользователей, - это зайти в настройки Excel-я и в разделе Дополнительно поставить галочку "Показывать ярлыки листов". Он является правильным, но тоже является рутинным, в свете частой обработки данных полученных из 1С в виде плоских таблиц и дальнейшего анализа данных в виде сводных таблиц и иных способов представления данных в Excel-е.

Сам точно так же замаялся бегать по галочкам и решил задачку, порывшись в просторах интернетов, например, тут и поглядев некоторые другие разработки, получилось реализовать несложный (для кого-то это баян, кому-то костыль, впрочем, о вкусах не спорят) механизм автоматизации решения проблемы с отображением ярлыков листов.

Все, что нужно, так это использовать два свойства окна Excel:

DisplayWorkbookTabs // признак отображения закладок листов книги
TabRatio  // соотношение ширины области закладок рабочей книги к ширине горизонтальной полосы прокрутки окна (как число между 0 (ноль) и 1, значение по умолчанию 0.6) 

Код:

Для v8:

ТабДокумент.Записать(ПолноеИмяФайла, ТипФайлаТабличногоДокумента.XLS);

Excel = Новый COMОбъект("Excel.Application");
Excel.WorkBooks.Open(ПолноеИмяФайла); 
Excel.Visible = 0;
Excel.ActiveWindow.DisplayWorkbookTabs = 1; 
Excel.ActiveWindow.TabRatio = 0.6;         
FullName = Excel.ActiveWorkbook.FullName;			
Excel.DisplayAlerts = false;
Excel.ActiveWorkbook.SaveAs(FullName, 18); // 18 - xls 97-2003; 51 - xlsx 2007-2013
//Excel.Visible = 1;       // если нужно поработать дальше с книгой
//Excel.Application.Quit() // если просто выходим 

Для v7:

ТабДокумент.Записать(ПолноеИмяФайла, "XLS");

Excel = СоздатьОбъект("Excel.Application");
Excel.WorkBooks.Open(ПолноеИмяФайла); 
Excel.Visible = 0; 
Excel.ActiveWindow.DisplayWorkbookTabs = 1; 
Excel.ActiveWindow.TabRatio = 0.6;
FullName = Excel.ActiveWorkbook.FullName;			
Excel.DisplayAlerts = false;
Excel.ActiveWorkbook.SaveAs(FullName, 18); // 18 - xls 97-2003; 51 - xlsx 2007-2013
//Excel.Visible = 1;       // если нужно поработать дальше с книгой
//Excel.Application.Quit() // если просто выходим

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. kenza 16.01.15 15:54 Сейчас в теме
Спасибо! Сохранение файла без листов это меньшая часть проблем. Больше всего проблем доставляет, то что данные сохраняются в общем формате и работать с ними дальше невозможно. Нельзя поставить фильтры, группировки и прочее, даже вручную изменить тип данных не всегда удается. Решал проблему вандальным методом - сохраняем файл из 1С сразу же в HTML и далее открываем дальше его с помощью Ексель и с этого момента все данные имеют тот тип, который нужен. Далее можем сохранить файл уже в нормальный формат, ну или дальше с ним так и работать.
FB_1264556763689896; DRY; DimchK; AndrewVVS; Hexed; ixilimuse; Abduvali; svetanik; +8 Ответить
13. GSoft 2025 20.01.15 13:26 Сейчас в теме
Если уж править код, то вот как я реализовал подобную задачу в 7.7.

Процедура в глобальном модуле
//__________________________________________________________­___________________
//Функция открывает таблицу в MS Excel
//Таблица			- печатная форма 1С
//ИмяЛиста			- имя, которое будет присвоено листу книги MS Excel (если не задано, то остается "Sheet1")
//ОтображатьЯрлычки	- показывать/скрыть ярлычки листов в MS Excel
//ОтображатьСетку	- показывать/скрыть линии сетки в MS Excel
//УдалитьСтроки		- позволяет удалить указанное количество верхних строк таблицы
//УдалитьСтроки		- позволяет удалить указанное количество левых столбцов таблицы
Функция глОткрытьТаблицуВExcel(Таблица, ИмяЛиста = "", ОтображатьЯрлычки = 1, ОтображатьСетку = 1, УдалитьСтроки = 0, УдалитьСтолбцы = 0) Экспорт
	Перем Excel, ExcelWB, ExcelSh, ExcelPS, ИмяФайла, Рез, Зн, Зн1;
	
	Если ТипЗначенияСтр(Таблица) <> "Таблица" Тогда 
		Возврат 0; 
	КонецЕсли;    
	
	Попытка 
		Excel = СоздатьОбъект("Excel.Application") 
	Исключение 
		Сообщить("Не удалось открыть MS Excel","!"); 
		Возврат 0; 
	КонецПопытки;
	
	Пока 1=1 Цикл
		//Подберем уникальное имя для временного файла
		ИмяФайла = КаталогВременныхФайлов() + "1c" + СтрЗаменить(ТекущееВремя(), ":", "");
		Если (ФС.СуществуетФайл(ИмяФайла+".tmp") = 1) или (ФС.СуществуетФайл(ИмяФайла+".xls") = 1) Тогда 
			ФС.УдалитьФайл(ИмяФайла+".tmp"); 
			ФС.УдалитьФайл(ИмяФайла+".xls") 
		Иначе 
			Прервать; 
		КонецЕсли
	КонецЦикла;
	
	Таблица.Записать(ИмяФайла+".tmp", "XLS");
	
	Если ФС.СуществуетФайл(ИмяФайла+".tmp") = 0 Тогда 
		Сообщить("Ошибка записи файла """ + ИмяФайла + "tmp""","!"); 
		Excel = ""; 
		Возврат 0; 
	КонецЕсли;    
	
	Рез = 1;
	
	Попытка
		ExcelWB = Excel.Workbooks.Add(ИмяФайла+".tmp");	//Откроем временный файл в Excel в режиме шаблона (чтобы не блокировать файл)
		Попытка											//Если на клиентской машине не установлен принтер, обращение к настройкам страницы вызывает ошибку. Поэтому работаем в "Попытка ... КонецПопытки"
			ExcelPS = ExcelWB.Sheets(1).PageSetup;		//Исправим спецсимволы в колонтитулах
			Зн = ExcelPS.LeftHeader;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.LeftHeader	= Зн1 КонецЕсли;
			Зн = ExcelPS.CenterHeader;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.CenterHeader	= Зн1 КонецЕсли;
			Зн = ExcelPS.RightHeader;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.RightHeader	= Зн1 КонецЕсли;
			Зн = ExcelPS.LeftFooter;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.LeftFooter	= Зн1 КонецЕсли;
			Зн = ExcelPS.CenterFooter;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.CenterFooter	= Зн1 КонецЕсли;
			Зн = ExcelPS.RightFooter;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.RightFooter	= Зн1 КонецЕсли;
		Исключение 
		КонецПопытки;
		
		ExcelWB.SaveAs(ИмяФайла+".xls", -4143);			//Сохраним, чтобы обновить формат файла до текущего (xlNormal = -4143)
		ExcelWB.Close(0);								//Закроем книгу ...
		ExcelWB = Excel.Workbooks.Add(ИмяФайла+".xls");	//... и вновь откроем в режиме шаблона
		
		Попытка
			ExcelSh = ExcelWB.Sheets(1);
			
			Если ПустаяСтрока(ИмяЛиста) = 0 Тогда			//Зададим имя ярлычка
				ExcelSh.Name = ИмяЛиста
			КонецЕсли;
			
			Если ОтображатьЯрлычки = 1 Тогда				//Сделаем видимыми ярлычки листов
			    ExcelWB.Windows(1).DisplayWorkbookTabs = 1;
				ExcelWB.Windows(1).TabRatio = 0.6			//... и отодвинем горизонтальную полосу прокрутки от левого края
			КонецЕсли;
			
			Если ОтображатьСетку = 0 Тогда					//Скроем линии сетки
				ExcelWB.Windows(1).DisplayGridlines = 0
			КонецЕсли;
		
			Если УдалитьСтроки > 0 Тогда					//Удалим верхние строки
				ExcelSh.Range(ExcelSh.Rows(1), ExcelSh.Rows(УдалитьСтроки)).Delete()
			КонецЕсли;
			
			Если УдалитьСтолбцы > 0 Тогда					//Удалим левые столбцы
				ExcelSh.Range(ExcelSh.Columns(1), ExcelSh.Columns(УдалитьСтолбцы)).Delete()
			КонецЕсли;
		Исключение 
		КонецПопытки;
		
		ExcelWB.Saved = 0;
	Исключение
		Сообщить("Ошибка открытия файла в MS Excel","!"); Рез = 0
	КонецПопытки;
	
	Попытка 
		Excel.Visible = 1 
	Исключение 
	КонецПопытки;  
	
	ExcelWB = ""; ExcelSh = ""; ExcelPS = ""; Excel = "";
	ФС.УдалитьФайл(ИмяФайла+".tmp");
	ФС.УдалитьФайл(ИмяФайла+".xls");
	Возврат Рез
КонецФункции //глОткрытьТаблицуВExcel

Показать




Вызов процедуры печати в отчете с выгрузкой в файл экселя и его отрытием
На форме две кнопки:
Печать (открытие печатной формы 1С): Формула вызова - Сформировать(0)
Открыть в Excel: Формула вызова - Сформировать(1)


Дополнения в процедуре "Сформировать" (или Печать - кому как больше нравится
Процедура  Сформировать(ЭкспортВЭксель = 0)
.................
.................
.................
	Если ЭкспортВЭксель = 0 Тогда
		Таб.ПараметрыСтраницы(2,,,,,,,,,1,,);
		Таб.Показать("Взаиморасчеты с контрагентами за период", "");   
	Иначе		
		глОткрытьТаблицуВExcel(Таб, "Взаиморасчеты с контрагентами за период", 1, 0, 0, 0);
	КонецЕсли;
КонецПроцедуры 
Показать
Прикрепленные файлы:
Иваныч; bestkso; +2 Ответить
2. jobkostya1c_ERP 98 18.01.15 08:49 Сейчас в теме
Для описание свойств екселя плюс. Хотя бы показали что эти два свойства, касающиеся закладок могут быть полезны.
3. AnryMc 842 18.01.15 10:22 Сейчас в теме
Можно ещё так: Надстройка Excel у для "исправления" выгруженной из 1С "Карточки счета" http://infostart.ru/public/85416/
Преимущество: Использование выгрудкееыз из 1С "стандартными" методами...

А для "непродвинутого пользователя" можно в Экселе вывести кнопку...
Светлый ум; +1 Ответить
4. kiruha 388 19.01.15 14:27 Сейчас в теме
Да, это меньшая часть проблем.
У нас, например, искажаются/пропадают цвета фона ячеек при сохранении/копировании в xls/xlsx
Нормального решения не нашел (Не нормальное - увеличить градиент цвета вручную)
level2z12; Sersh2010; +2 Ответить
9. sky.xn 20.01.15 07:09 Сейчас в теме
(4) kiruha, это ошибка платформы, в новом тестовом релизе уже исправлена, подробнее смотри на сайте users.v8.1c.ru
5. Dragonim 135 19.01.15 17:46 Сейчас в теме


Я не знаю как вы добились результата на картинке, но вот мой результат сохранения в формате xlsx, открытый в Excel 2013, Бухгалтерия предприятия 3.0 (3.0.36.19), платформа 8.3.5.1231, оборотно-сальдовая ведомость по счёту На рисунке в левом нижнем углу отчётливо видно вертикальное троеточие, если за него потянуть вправо, то откроются страницы из которых состоит данная Excel книга.

Исходя из выше написанного считаю статью лишней, а проблему надуманной. При сохранении из 1С в Excel имеется столько проблем, что можно составить отдельную статью только из их перечисления, но даже в той статье вряд ли стоит уделять место и время данной проблеме.

Ну и конечно же стандартный коммент о том что решение проблемы через внешний объект это плохая практика.
Cерый; Crazy_Max; Adilgeriy; GlukAl; Ганс; DronRF; echo77; Asples; madonov; Libera007; sivalor; +11 1 Ответить
6. shmellevich 133 19.01.15 20:58 Сейчас в теме
(5) Dragonim, свойство TabRatio в диапазоне от 0 до 1, значение чем ближе к 1, тем три точки ближе к правому краю экрана, и это работает в строгой последовательности DisplayWorkbookTabs = 1, а потом TabRatio = 0.6 - это 60% слева. 1 - три точки будут в правом углу экрана. Работает на 7.7.027 и на 8.2.19.106

Ответ на стандартный коммент - когда приходится сохранять книгу Excel с несколькими листами из 1С, пример титулка - общие итоги, а последующие разные расшифровки, то без внешнего объекта как бы никак.
marku; Hexed; svetanik; +3 Ответить
7. Dragonim 135 19.01.15 21:18 Сейчас в теме
(6)
Ответ на стандартный коммент - когда приходится сохранять книгу Excel с несколькими листами из 1С, пример титулка - общие итоги, а последующие разные расшифровки, то без внешнего объекта как бы никак.


Видимо мне в жизни очень сильно повезло, что я ни когда не сталкивался в 1С с такими отчётами. Надеюсь моё везение на этом не закончиться.
8. shmellevich 133 19.01.15 21:51 Сейчас в теме
(7) Dragonim, Мне тоже везло с отчетами, до текущей работы ))
33. KAV2 151 17.01.18 11:01 Сейчас в теме
(5) Со страницами есть другая проблема, описана здесь: https://social.technet.microsoft.com/Forums/office/ru-RU/087cd445-4a09-43be-9b46-1e0a22330f90/excel-1?forum=Office2016ITProRU

Файлы выгруженные из 1С, в некоторых случаях долго открываются в Excel 2016, и как решение - включить видимость страниц.

К сожалению, такие "битые" файлы с которыми проблема в Excel 2016 не получается исправить описанным в статье образом - процесс EXCEL.EXE виснет.
10. papa_harlo 145 20.01.15 09:11 Сейчас в теме
немного помогло. Спасибо!
11. vslimv 20.01.15 09:56 Сейчас в теме
Еще бы делать это без Excel, на сервере, но это уже мечты) Спасибо.
romankoav; +1 Ответить
12. xor4eg 20.01.15 10:12 Сейчас в теме
Ещё забабахайте статью, как сделать, чтоб 1С при сохранении в excel прекратила объединять сотни ячеек в одну.
sevenor; Andreeei; olexich; ixilimuse; +4 Ответить
14. shmellevich 133 20.01.15 14:27 Сейчас в теме
Это все хорошо вы описали, но суть статьи подсказать, как решить одну из многих проблем связки 1С + Excel,
а не куда его лучше положить, чтобы было лучше брать ;)

А править код это уже удел каждого разработчика на свое усмотрение.
Но все же спасибо за предложение.
15. svetanik 5 20.01.15 14:52 Сейчас в теме
Спасибо, что провели такую работу и не полнились выложить это общественности. Мне таки эта инфа очень к стати пришлась. Особенное спасибо за приведение кода для разных платформ. Можно использовать как справочник.
16. trdm 21.01.15 22:32 Сейчас в теме
Неплохо, вставлю ка я это в штатную конвертацию.
17. EugenLiquor 27.01.15 09:51 Сейчас в теме
Cпасибо за подробный гайд! Примерно так и делал, но вы это четко описали и сформулировали, многим людям эта статья поможет!
18. shmellevich 133 28.01.15 15:08 Сейчас в теме
(17) Спасибо модератору, который меня заставил дополнить, а то было как-то сухо ))
Я разозлился и вот результат ))
19. Lady-mo 91 08.02.15 20:30 Сейчас в теме
Спасибо за статью.
На самом деле пользователям важны ярлычки листов, и часто за этим обращаются, простое и удобное решение, очень помогло.
Кстати, а может вы действительно знаете, почему в сохраненном файле не работают фильтры и как с этим бороться?

20. lolik123 18.11.15 22:28 Сейчас в теме
21. fixin 4190 06.05.16 13:38 Сейчас в теме
Спасибо за подсказку с ярлыками.
А кроме ActiveWindow никак Window получить нельзя, например из текущего листа или книги?

Что касается пользователей, то можно просто понянуть полоску листов, она слева внизу, не надо никакие галочки выводить.
22. cwant 4 23.12.16 11:17 Сейчас в теме
23. Alex30 28.01.17 16:11 Сейчас в теме
Автору спасибо, пригодилось
24. OksDallas 22 14.04.17 04:13 Сейчас в теме
Подскажите, пожалуйста!

Выгружаю данные в Excel. В ячейке код счета "20.01", определяю формат ячейки как текстовый
Лист.Cells(НомерСтроки, 1).NumberFormat = "@";
А в результате в файле все равно выходит 20,01.
Что можете предложить, чтобы в файле все-таки получалось 20.01 с точкой, а не с запятой?
25. eshtrey 14.04.17 13:22 Сейчас в теме
(24)что бы эксель сам не менял формат выводите '20.01 (' перед значением)
26. GSoft 2025 14.04.17 17:09 Сейчас в теме
(24) уберите выравнивание по правому краю, иначе excel будет такую ячейку воспринимать как число

я несколько изменил процедуру описанную в (13)

теперь это выглядит так

//__________________________________________________________­___________________
//Функция открывает таблицу в MS Excel
//Таблица			- печатная форма 1С
//ИмяЛиста			- имя, которое будет присвоено листу книги MS Excel (если не задано, то остается "Sheet1")
//ОтображатьЯрлычки	- показывать/скрыть ярлычки листов в MS Excel
//ОтображатьСетку	- показывать/скрыть линии сетки в MS Excel
//УдалитьСтроки		- позволяет удалить указанное количество верхних строк таблицы
//УдалитьСтроки		- позволяет удалить указанное количество левых столбцов таблицы
Функция глОткрытьТаблицуВExcel(Таблица, ИмяЛиста = "", ОтображатьЯрлычки = 1, ОтображатьСетку = 1, УдалитьСтроки = 0, УдалитьСтолбцы = 0, пИмяФайла="", пКаталог = "", ОткрытьФайл = 1, ВыровнятьЧисла = 0) Экспорт
	Перем Excel, ExcelWB, ExcelSh, ExcelPS, ИмяФайла, Рез, Зн, Зн1;
	
	Если ТипЗначенияСтр(Таблица) <> "Таблица" Тогда 
		Возврат 0; 
	КонецЕсли;    
	         
		// Пробежимся по всем ячейкам и поменяем положение по горизонтали для чисел на выравнивание по правому краю
		Для Выс = 1 По Таблица.ВысотаТаблицы() Цикл
			Для Шир = 1 По Таблица.ШиринаТаблицы() Цикл
				Обл = Таблица.Область(Выс,Шир,Выс,Шир);
				
				Если глПроверкаНаличияТолькоЦифр(Обл.Текст) = 1 Тогда
					// цифры только 
					Если Обл.ГоризонтальноеПоложение() <> 2 Тогда
						Обл.ГоризонтальноеПоложение(2);
					КонецЕсли;                   
				ИначеЕсли ВыровнятьЧисла = 1 Тогда				
					//программно указываем что надо выравнивать числа с запятой и знаками после запятой
					Если глПроверкаНаличияБукв(Обл.Текст) = 1 Тогда
						//есть буква кириллицы или латиницы
						Продолжить;
					ИначеЕсли СтрЧислоВхождений(Обл.Текст, ".") > 1 Тогда
						//дата - так как имеется более одной "."
						Продолжить;
					КонецЕсли;
					
					Если (СокрЛП(Обл.Текст) = "0") или (Число(Обл.Текст) > 0) или (Число(Обл.Текст) < 0) Тогда
						//число
						Если Обл.ГоризонтальноеПоложение() <> 2 Тогда
							Обл.ГоризонтальноеПоложение(2);
						КонецЕсли;
					КонецЕсли;
				КонецЕсли;				
			КонецЦикла;
		КонецЦикла;
	
	//// Чтобы параметры печати не путались с другими - даем им имя
	//Таблица.Опции(,,,,"Excel",,,);

	Попытка 
		Excel = СоздатьОбъект("Excel.Application") 
	Исключение 
		Сообщить("Не удалось открыть MS Excel","!"); 
		Возврат 0; 
	КонецПопытки;
	
	Пока 1=1 Цикл
		//Подберем уникальное имя для временного файла
		 
		Если ПустоеЗначение(пКаталог) = 1 Тогда
		    пКаталог = КаталогВременныхФайлов();
		КонецЕсли;
		
		Если ПустоеЗначение(пИмяФайла) = 1 Тогда
			ИмяФайла = пКаталог + "1c" + СтрЗаменить(ТекущееВремя(), ":", "");    
		Иначе
			ИмяФайла = пКаталог + СокрЛП(пИмяФайла);
		КонецЕсли;
		
		Если (ФС.СуществуетФайл(ИмяФайла+".tmp") = 1) или (ФС.СуществуетФайл(ИмяФайла+".xls") = 1) Тогда 
			ФС.УдалитьФайл(ИмяФайла+".tmp"); 
			ФС.УдалитьФайл(ИмяФайла+".xls") 
		Иначе 
			Прервать; 
		КонецЕсли
	КонецЦикла;
	
	Таблица.Записать(ИмяФайла+".tmp", "XLS");
	
	Если ФС.СуществуетФайл(ИмяФайла+".tmp") = 0 Тогда 
		Сообщить("Ошибка записи файла """ + ИмяФайла + "tmp""","!"); 
		Excel = ""; 
		Возврат 0; 
	КонецЕсли;    
	
	Рез = 1;
	
	Попытка
		ExcelWB = Excel.Workbooks.Add(ИмяФайла+".tmp");	//Откроем временный файл в Excel в режиме шаблона (чтобы не блокировать файл)
		Попытка											//Если на клиентской машине не установлен принтер, обращение к настройкам страницы вызывает ошибку. Поэтому работаем в "Попытка ... КонецПопытки"
			ExcelPS = ExcelWB.Sheets(1).PageSetup;		//Исправим спецсимволы в колонтитулах
			Зн = ExcelPS.LeftHeader;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.LeftHeader	= Зн1 КонецЕсли;
			Зн = ExcelPS.CenterHeader;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.CenterHeader	= Зн1 КонецЕсли;
			Зн = ExcelPS.RightHeader;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.RightHeader	= Зн1 КонецЕсли;
			Зн = ExcelPS.LeftFooter;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.LeftFooter	= Зн1 КонецЕсли;
			Зн = ExcelPS.CenterFooter;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.CenterFooter	= Зн1 КонецЕсли;
			Зн = ExcelPS.RightFooter;	Зн1 = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Зн, "#P", "&P"), "#Q", "&N"), "#T", "&T"), "#D", "&D"); Если Зн <> Зн1 Тогда ExcelPS.RightFooter	= Зн1 КонецЕсли;
		Исключение 
		КонецПопытки;
		
		ExcelWB.SaveAs(ИмяФайла+".xls", -4143);			//Сохраним, чтобы обновить формат файла до текущего (xlNormal = -4143)
		ExcelWB.Close(0);								//Закроем книгу ...
		ExcelWB = Excel.Workbooks.Add(ИмяФайла+".xls");	//... и вновь откроем в режиме шаблона

		Попытка
			ExcelSh = ExcelWB.Sheets(1);
			
			Если ПустаяСтрока(ИмяЛиста) = 0 Тогда			//Зададим имя ярлычка
				ExcelSh.Name = ИмяЛиста
			КонецЕсли;
			
			Если ОтображатьЯрлычки = 1 Тогда				//Сделаем видимыми ярлычки листов
				ExcelWB.Windows(1).DisplayWorkbookTabs = 1;
				ExcelWB.Windows(1).TabRatio = 0.6			//... и отодвинем горизонтальную полосу прокрутки от левого края
			КонецЕсли;
			
			Если ОтображатьСетку = 0 Тогда					//Скроем линии сетки
				ExcelWB.Windows(1).DisplayGridlines = 0
			КонецЕсли;
			
			Если УдалитьСтроки > 0 Тогда					//Удалим верхние строки
				ExcelSh.Range(ExcelSh.Rows(1), ExcelSh.Rows(УдалитьСтроки)).Delete()
			КонецЕсли;
			
			Если УдалитьСтолбцы > 0 Тогда					//Удалим левые столбцы
				ExcelSh.Range(ExcelSh.Columns(1), ExcelSh.Columns(УдалитьСтолбцы)).Delete()
			КонецЕсли;
		Исключение 
		КонецПопытки;
		
		ExcelWB.Saved = 0;
	Исключение
		Сообщить("Ошибка открытия файла в MS Excel","!"); 
		Рез = 0
	КонецПопытки;
	
	Если ОткрытьФайл = 1 Тогда
		Попытка 
			Excel.Visible = 1; 
		Исключение 
		КонецПопытки;  
	Иначе                 
		Excel.Visible = 0; 
		
   		ФС.УдалитьФайл(ИмяФайла + ".xls");
		ExcelWB.SaveAs(ИмяФайла+".xls", -4143);			//Сохраним, чтобы обновить формат файла до текущего (xlNormal = -4143)
		ExcelWB.Close(0);								//Закроем книгу ...
	КонецЕсли;                      
	
	//описание метода сохранить
	//Sub SaveAs([Filename], [FileFormat], [Password], [WriteResPassword], [ReadOnlyRecommended], [CreateBackup], [AccessMode As XlSaveAsAccessMode = xlNoChange], [ConflictResolution], [AddToMru], [TextCodepage], [TextVisualLayout], [Local])
    //Member of Excel.Workbook

	ExcelWB = ""; ExcelSh = ""; ExcelPS = ""; Excel = "";
	ФС.УдалитьФайл(ИмяФайла + ".tmp");
	
	Если ОткрытьФайл = 1 Тогда
		ФС.УдалитьФайл(ИмяФайла + ".xls");
	ИначеЕсли ОткрытьФайл = 2 Тогда                                         
		//не надо открывать каталог
		Сообщить("Файл сохранен по адресу: " + СокрЛП(ИмяФайла) + ".xls");  
	Иначе
		Сообщить("Файл сохранен по адресу: " + СокрЛП(ИмяФайла) + ".xls");  
		ЗапуститьПриложение(пКаталог);
	КонецЕсли;
	
	Возврат Рез
КонецФункции //глОткрытьТаблицуВExcel
Показать



плюс две доп функции проверяющие есть ли буквы/цифры в ячейке
//__________________________________________________________­___________________
// глПроверкаНаличияТолькоЦифр(Стр)
//
// Параметры: 
//  Стр - текстовая строка
//
// Возвращаемое значение:
//  1 - если в строке только цифры, иначе 0
Функция глПроверкаНаличияТолькоЦифр(Знач Стр) Экспорт
	ТолькоЦифры = 1;  
	Цифры = "1234567890";
	
	Для Сч = 1 По СтрДлина(Стр) Цикл
		Символ = Сред(Стр, Сч, 1);
		
		Если Найти(Цифры, Символ) = 0 Тогда
		    ТолькоЦифры = 0;
			Прервать;
		КонецЕсли;
	КонецЦикла;
	
	Возврат ТолькоЦифры;
КонецФункции // глПроверкаНаличияТолькоЦифр()


//__________________________________________________________­___________________
// глПроверкаНаличияБукв(Стр)
//
// Параметры: 
//  Стр - текстовая строка
//
// Возвращаемое значение:
//  1 - если в строке есть буквы, иначе 0
Функция глПроверкаНаличияБукв(Знач Стр) Экспорт
	ЕстьБуквы = 0;
	БуквыКирилица = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
	БуквыЛатиница = "ABСDEFGHIJKLMNOPQRSTUVWXYZ";
	
	Для Сч = 1 По СтрДлина(Стр) Цикл
		Символ = Сред(Стр, Сч, 1);
		
		Если Найти(БуквыКирилица, Символ) > 0 Тогда
		    ЕстьБуквы = 1;
			Прервать;
		ИначеЕсли Найти(БуквыЛатиница, Символ) > 0 Тогда
		    ЕстьБуквы = 1;
			Прервать;
		КонецЕсли;
	КонецЦикла;
	
	Возврат ЕстьБуквы;
КонецФункции // глПроверкаНаличияБукв()

Показать
Иваныч; bestkso; user941209; Gaffer; +4 Ответить
39. Иваныч 23 10.03.21 12:01 Сейчас в теме
27. timurboroda 10.07.17 14:05 Сейчас в теме
После копирования таблиц, отчетов, документов их надо вставлять не в икзель а в ворд. Тогда все форматирование сохраняется
Прикрепленные файлы:
Заказ.docx
28. GSoft 2025 10.08.17 11:32 Сейчас в теме
(27) и как после этого с ними в ворде работать?
суммировать, вычитать и т.д.?
копировать потом в xls?)
29. romankoav 21.09.17 16:08 Сейчас в теме
Когда сохранение табличного документа делаешь в формат xslx, то потом 1с падает с ошибкой на строке Excel.WorkBooks.Open(ПолноеИмяФайла);
34. user954019 10.04.18 14:35 Сейчас в теме
Только что сама искала как вытащить ярлыки в xls. выгруженной из 1С. В Excel старых версий, где нет дополнительных параметров, представьте себе, в Сервис-Параметры-закладка "Переход"
Проставьте "птичку" Клавиши перемещения, использовавшиеся в Lotus 1-2-3. Вероятно, когда-то 1с-овцы его использовали.
И чудесным образом ярлычки появляются
30. romankoav 21.09.17 16:13 Сейчас в теме
Даже когда выполняешь вот такой простейший код
ИмяФайла = ПолучитьИмяВременногоФайла("XLSX");
ДокументРезультат.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLSX);
ЗапуститьПриложение(ИмяФайла);

Иксель выдает ошибки, что обнаружено содержимое которое не удалось прочитать. После согласия восстановить содержимое выдает текст:
Удаленные записи: Свойства листа из части /xl/worksheets/sheet1.xml
Вывод: пока с XLSX программно работать не получается.
31. shmellevich 133 21.09.17 22:40 Сейчас в теме
(30) это скорее всего связано с самой платформой. 8.3.9.1850 все нормально отрабатывает.
32. romankoav 22.09.17 10:31 Сейчас в теме
35. marku 62 01.08.18 10:46 Сейчас в теме
Спасибо, оч. пригодилось!
36. VKuser15773389 24.03.20 22:09 Сейчас в теме
Подскажите пожалуйста как добавить к этому коду Лист(Имя) при сохранение данных в эксель
ТаблицаСохранение = Новый ТабличныйДокумент;
Макет = ЭтотОбъект.ПолучитьМакет("ТаблицаВыгрузки");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");

ТаблицаСохранение.Вывести(ОбластьШапка);
Для Каждого Стр Из ДанныеВыгрузки Цикл
ЗаполнитьЗначенияСвойств(ОбластьСтрока.Параметры, Стр);
ТаблицаСохранение.Вывести(ОбластьСтрока);
КонецЦикла;

ТаблицаСохранение.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS);
37. shmellevich 133 24.03.20 22:52 Сейчас в теме
(36)
Лист(Имя)

в (26) и (13) комментах есть полная функция по сохранению листа в Ексель
отрывок из Кода
          
 ExcelSh = ExcelWB.Sheets(1);
            
            Если ПустаяСтрока(ИмяЛиста) = 0 Тогда            //Зададим имя ярлычка
                ExcelSh.Name = ИмяЛиста
            КонецЕсли;
38. Doomino 53 04.06.20 15:17 Сейчас в теме
Вот спасибо! Очень пригодилось ))
40. 3dice 17 16.09.21 18:14 Сейчас в теме
(6) к слову о сохранении нескольких табличных документов в одну книгу

	ГлавнаяКнига = Новый ПакетОтображаемыхДокументов;
	
	ТабДокумент = Новый ТабличныйДокумент;
		
	ТабДокумент	= СформироватьПервыйЛист();
	
	ЭлементПакета = ГлавнаяКнига.Состав.Добавить();
	ЭлементПакета.Данные = ПоместитьВоВременноеХранилище(ТабДокумент);
		
	ЭлементПакета.Наименование = НаименованиеПервогоЛиста;
		
	ТабДокумент	= СформироватьВторойЛист();

	ЭлементПакета = ГлавнаяКнига.Состав.Добавить();
	ЭлементПакета.Данные = ПоместитьВоВременноеХранилище(ТабДокумент);
		
	ЭлементПакета.Наименование = НаименованиеВторогоЛиста;
	
.....
	ТабДокумент	= СформироватьNNыйЛист();

	ЭлементПакета = ГлавнаяКнига.Состав.Добавить();
	ЭлементПакета.Данные = ПоместитьВоВременноеХранилище(ТабДокумент);
		
	ЭлементПакета.Наименование = НаименованиеNNогоЛиста;


	ГлавнаяКнига.Записать(ИмяФайла, ТипФайлаПакетаОтображаемыхДокументов.XLS);
Показать
Оставьте свое сообщение

См. также

Чтение книги Exсel по листам

Загрузка и выгрузка в Excel Платформа 1С v8.3 Россия Бесплатно (free)

Речь пойдет о чтении xls файлов штатными средствами 1С постранично, возможно, для Вас это не будет новым способом, но может послужить как стимулом копаться в коде, так и быстрым решением проблемы загрузки для кого-то.

23.11.2022    2112    ix5s    6    

21

Создание обработки для выгрузки в Excel, PDF, Docx, TXT (управляемые формы)

Загрузка и выгрузка в Excel Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В помощь начинающим программистам. Создание простой обработки для выгрузки табличного документа в файлы различных форматов, на примере справочника Контрагенты (релиз платформы 1С:Предприятие 8.3 (8.3.20.1674), самописная конфигурация).

18.07.2022    4755    Pproksima    6    

7

Выгрузка данных в Excel с добавлением формул (нюансы формирования формул)

Загрузка и выгрузка в Excel Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Итак, я здесь описываю выгрузку отчета в Excel с добавлением пустых колонок для заполнения внутри самого Excel + колонки с формулами для выполнения расчетов на базе выгруженного и введенного руками в Excel. На самом деле публикация появилась по причине моих проблем, возникших при написании формул. Все остальное вроде штатно, но вдруг кому пригодится.

30.05.2022    3432    Zlohobbit    5    

19

Выгрузка / Загрузка регистра сведений из внешней системы с большим количеством строк

Загрузка и выгрузка в Excel Платформа 1С v8.3 Бесплатно (free)

Часто возникает задача, когда уже вся НСИ загружена и необходимо перегрузить регистры сведений с большим количеством строк (около миллиона строк). Перегрузка может быть из любой информационной системы (на 1С или нет). Для себя определил максимальной быстрый вариант выгрузки/загрузки - через файл Excel с учетом возможности предварительной правки и просмотра результата загрузки.

28.01.2022    3482    Shining_ninja    4    

8

Делаем формат ячейки дата в Excel без Excel

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Задача отправлять печатную форму в формате Excel, но у этой печатной формы должен быть правильный формат ячеек с датой

26.03.2021    6216    John_d    23    

81

Генерация кода с помощью формул Excel

Загрузка и выгрузка в Excel Платформа 1С v8.3 Бесплатно (free)

В работе периодически возникает необходимость создания однотипных строк кода, отличающихся, в общем случае, только неким известным заранее строковым содержимым. При помощи конкатенации в Excel подобные данные легко превратить в готовые строки кода.

27.10.2020    1670    aleksei_adamov    6    

8

Удаление из файла эксель ненужных страниц средствами 1С без COM и через COM

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Как средствами 1С из файла эксель удалить ненужные листы без COM и с ним. Я разрабатывал на платформе 1С:Предприятие 8.3 (8.3.14.1694)

28.01.2020    4575    pavel_pss    12    

8

Обертка функций Excel на русском. Ускорение процесса разработки.

Загрузка и выгрузка в Excel Универсальные функции Платформа 1С v8.3 Бесплатно (free)

Устали переключаться с русского на английский и обратно при работе с таблицами Excel из 1С? Сборка наиболее необходимых функций и методов работы с Excel, обернутых в функции 1С на русском языке.

24.10.2019    8927    DmitryKotov    6    

56

Выгрузка из 1С номенклатуры со штрихкодами без программирования

Загрузка и выгрузка в Excel Внешние источники данных Платформа 1С v8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Я так и не смог найти простой инструкции или обработки, чтобы выгрузить из 1С: Управление торговлей 11 номенклатуру вместе со штрихкодами, поэтому решил написать собственную инструкцию.

28.08.2019    38852    user1114182    14    

6

Загрузка картинок в справочники (Универсальная загрузка из табличного документа)

Обработка справочников Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример загрузки картинок в справочник Номенклатура (с помощью обработки универсальная загрузка данных из табличного документа). Проверялось на конфигурации УТ 11.4.7.

28.05.2019    13254    Rasdag    6    

12

Excel vs 1С: битва с неожиданным исходом

Анализ учета Универсальные обработки Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Что лучше 1С или Excel? Разберемся, в казалось бы, очевидном, чтобы получить невероятное!

11.04.2019    46602    bolefirenko    123    

46

Копирование числовых ячеек из 1С в Excel

Загрузка и выгрузка в Excel Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

15.01.2019    44658    itriot11    27    

33

Запись одной книги Excel на нескольких листах средствами 1С (без внешних компонент)

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пользователи часто просят сохранить им стопиццот отчетов в один файл Excel, чтобы отчеты были в одном файле. Ну или клиент хочет счет, накладную и счет-фактуру получить в одном документе. 1С умеет это делать без всяких там COM-объектов. Давайте разберемся, куда нажимать и что крутить.

14.01.2019    37303    starik-2005    46    

230

Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д)

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д). На примере загрузки в табличную часть документа Поступление товаров и услуг в УТ 11.4.

09.01.2019    19246    Rasdag    19    

51

Работа с Excel через COM

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Несколько примеров работы с excel (ms office 2010, в моем случае) через COM.

01.10.2018    17710    jaroslav.h    0    

30

Выгрузка в Excel с использованием формата OpenXML, разбор файла sheet1.xml

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Судя по количеству просмотров темы https://infostart.ru/public/900022/ решил описать структуру файла Листа excel. На полноту не претендую, опишу то, что знаю.

21.09.2018    9871    user1045404    2    

19

Excel: создание в формате xlsx без COM технологии

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

По работе приходится часто выгружать данные в Excel формате. При большом количестве строк и формул этот процесс достаточно длительный. Решил написать для своих целей небольшую библиотечку для выгрузки данных. Используется технология open-xml. Никаких библиотек не надо, пишу напрямую в xml файлики. На данном этапе сделано форматирование, формулы.

10.09.2018    14907    user1045404    19    

126

Из Excel в 1С запросом

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

... ну, конечно, не прям так типовым языком запросов, а расширенным языком запросов. Речь пойдет о том, как "залить" данные в таблицы 1С и не пилить при этом бесконечного количества наколеночных обработок.

14.08.2018    23621    m-rv    5    

36

Загрузка из Excel в управляемом приложении

Загрузка и выгрузка в Excel Управляемые формы Бесплатно (free)

С появлением управляемого интерфейса стали актуальными вопросы в давно освоенных приемах работы. В частности, загрузка из файла.

30.11.2017    49167    alex_bitti    17    

37

Работа с Excel

Загрузка и выгрузка в Excel Платформа 1С v8.3 Бесплатно (free)

Собрал различные полезности для работы с Excel из 1С. Иногда приходится форматировать документ Excel программно из 1С. Так вот, чтобы не искать постоянно на просторах интернета как сделать левое выравнивание в ячейке Excel из 1С и т.п. решил опубликовать это...

23.10.2017    77832    arakelyan    45    

380

Невалидный XLSX при сохранении Табличного документа

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Ошибка открытия XLSX файлов, созданных при сохранении Табличного документа. (Невалидный формат файла)

21.10.2017    17770    saddy    4    

4

Почему при загрузке таблицы Excel в 1С возникают ошибки?

Загрузка и выгрузка в Excel Платформа 1С v8.3 Бесплатно (free)

При загрузке из EXCEL в 1С методом MS ADODB.Connection столкнулся с некоторыми проблемами, которые попытался устранить в ниже приведенной статье. Надеюсь, что статья поможет вам сократить время разработки.  Особая благодарность Андрею М. за публикацию //infostart.ru/public/163640/

28.04.2017    21080    dakork    4    

11

Загрузка значений свойств номенклатуры в Альфа-Авто с использованием обработки загрузки данных из табличного документа

Загрузка и выгрузка в Excel Учет ТМЦ Платформа 1С v8.3 Конфигурации 1cv8 Автомобили, автосервисы Россия Управленческий учет Бесплатно (free)

В публикации будет рассмотрено использование встроенной в отраслевую конфигурацию Альфа-Авто обработки по загрузке данных из табличного документа для заполнения значений дополнительных свойств номенклатуры.

13.10.2016    19688    miavolas    16    

17

Решение проблемы медленной загрузки из файла Excel, защищенного паролем

Загрузка и выгрузка в Excel Платформа 1С v8.3 Россия Бесплатно (free)

Столкнулся с проблемой загрузки из файла Excel. Загрузка занимала около получаса и не всегда заканчивалась успешно. Решение проблемы изложу в данной статье.

27.09.2016    11732    HAMMER_59    4    

11

Быстрая выгрузка больших плоских отчетов в Excel

Загрузка и выгрузка в Excel Платформа 1С v8.3 Бесплатно (free)

Предлагаю способ для того, чтобы быстрее выгружать большие плоские отчеты из 1С 8 в Excel, без использования оперативной памяти на сервере и на клиенте, что очень важно, поскольку помогает избежать ошибок вида "Недостаточно памяти на клиенте" или "Недостаточно памяти на сервере". Не использует внешние компоненты. Минусы в том, что отчет выходит неформатированный, приходится настраивать ширину колонок, закрашивать границы, шрифты, жирность и т.п. Но когда отчет, выгружавшийся 3 часа, выгружается 20 минут, эти проблемы мои клиенты считают несущественными.

29.11.2015    20614    matveev.andrey.v    17    

24

Экспорт нескольких MXL таблиц в один XLS файл, на отдельные листы. Простой алгоритм

Загрузка и выгрузка в Excel Математика и алгоритмы Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Статья посвящена распространённому вопросу - как сохранить несколько таблиц (отчетов) в формате MXL, с которым работает 1С, на отдельные листы одного Excel файла. Освещается простой алгоритм решения проблемы штатными средствами, без использования внешних модулей и библиотек (не относящихся к 1С и Excel).

23.11.2015    18472    etmarket    14    

20

Выгрузка таблицы значений в Excel

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Примитивно, грубо, без дизайна, но очень быстро.

28.06.2015    37984    Yashazz    31    

34

Скорость закачки с EXCEL при работе с большими файлами

HighLoad оптимизация Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Поставлена задача уменьшить время загрузки данных с EXCEL. Пока ждал ответа от разработчиков ядра, сам начал копать всё, что угодно. ЗАДАЧА решена, с чем спешу поделиться.

09.06.2015    19414    ybatiaev    33    

26

Чтение из Эксель-файла

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Некоторые выдержки из моих наработок, связанных с работой 1С и приложений майкрософт-оффис

26.05.2015    12131    mack198109    7    

9

Загрузка из EXCEL в 1С на платформе 8.3.6/8.3.7/8.3.8/8.3.9/8.3.10 (с картинками)

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Импорт содержимого из файлов в форматах XLS (Microsoft Excel 97), Microsoft Office OpenXML (Microsoft Excel 2007- 2010) и ODS (OpenDocument) в таблицу значений.

06.04.2015    293333    StepByStep    80    

400

Вывод таблицы значений в Excel

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Изложена методика вывода таблицы значений в Excel с помощью именованных ячеек.

21.01.2015    16977    scientes    6    

17

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ПостроительDOM

Универсальные обработки Загрузка и выгрузка в Excel Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ПостроительDOM). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент", а также изображения.

11.09.2014    86512    StepByStep    27    

117

Простой способ программного сохранения больших отчетов из СКД в формат Excel

Универсальные функции Загрузка и выгрузка в Excel Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Перерыв весь интернет не смог найти простого способа сохранить отчет с большим числом строк в формате Excel. Везде предлагалось писать процедуры построчной записи, ADO, COMSafeArray и прочее. Метод же, используемый во всех найденный публикациях "Результат.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLSX)", не работает при большом числе строк. Публикация http://infostart.ru/public/77128/ натолкнула на простую идею, которую и реализовал.

07.08.2014    37362    den_valley    15    

43

Преобразование Универсального отчета в сводную таблицу Excel.

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Тем, кто часто пользуется сводной таблицей Excel, неудобно использовать формат, который получается на выходе универсального отчета. т.к. Универсальный отчет строится с группировками, а данные для сводной таблицы нужны в плоском виде.

16.06.2014    19154    Mos    4    

6

Сохранение в Excel из WEB-клиента

Загрузка и выгрузка в Excel Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Не всегда корректно отрабатывает сохранение в Excel из 1C при работе в WEB-клиенте. Мне попалась ситуация, когда не отрабатывал код "ТабличныйДокумент.Записать(...)" и выдавалась ошибка "неизвестная ошибка.: object doesn't support this property or method" Ниже предложена процедура сохранения в Excel, корректно работающая во всех типах подключения.

24.04.2014    23212    Tavalik    1    

16