![]() |
![]() |
![]() |
|
Программно создать экселевский файл и выгрузить в него таблицу | ☑ | ||
---|---|---|---|---|
0
jawerko
07.08.10
✎
11:42
|
Пожалуйста, подскажите, где можно посмотреть примеры...
Заранее спасибо! |
|||
1
maxar
07.08.10
✎
11:44
|
на инфостарте полно всякого добра...
|
|||
2
Aleksey_3
07.08.10
✎
11:45
|
Учу пользоваться поиском. Дорого
|
|||
3
dk
07.08.10
✎
11:47
|
вывести в таблицу и сохранить в формате ексель
|
|||
4
AeDen
07.08.10
✎
11:58
|
Перем Эксель, Книга, Лист;
Перем ТабСпр; Перем Листы; Перем СпСпрВыгр, СпСпрРегл; Перем СпНеРегСчетов; Перем ТабНеРег; Перем Таб10, Таб43, Таб60, Таб62, Таб76; //********************************************************* // Процедура ВыборФайла(ИмяФайла, Фильтр="txt") Каталог = ""; Стр = "Файл настройки (*." + Фильтр + ")|*." + Фильтр + ""; Если ФС.ВыбратьФайл(0, ИмяФайла, Каталог, "Выберите файл", Стр, , ) = 1 Тогда ИмяФайла = Каталог + ИмяФайла; КонецЕсли; КонецПроцедуры //********************************************************* // Процедура ПриНачалеВыбораЗначения( Элемент, Флаг ) Если Элемент = "ФайлДляЗагрузки" Тогда Флаг = 0; ВыборФайла(ФайлДляЗагрузки, "xls"); КонецЕсли; КонецПроцедуры //****************************************************************************** // ЗапуститьПриложениеЭксель(Знач Путь) // // Параметры: // // // Описание: // Процедура // Процедура ЗапуститьПриложениеЭксель(Знач Путь,ТекЛист="") Если ФС.СуществуетФайл(Путь)=0 Тогда Предупреждение("Неверно задан путь или не существует файл по пути " + СокрЛП(Путь)); Возврат; КонецЕсли; Попытка // запускаем Эксель-Server Эксель = СоздатьОбъект("Excel.Application"); Исключение Сообщить(ОписаниеОшибки(),"!"); КонецПопытки; Попытка // открываем файл Путь=СокрЛП(Путь); Книга=Эксель.Application.Workbooks.Open(Путь); Если ТекЛист="" Тогда Книга.Worksheets(1).Activate(); Иначе Книга.Worksheets(ТекЛист).Activate(); КонецЕсли; Исключение Сообщить(ОписаниеОшибки(),"!"); КонецПопытки; Эксель.Visible=0; Эксель.DisplayAlerts = 0; КонецПроцедуры //ЗапуститьПриложениеЭксель(Знач Путь) //********************************************************* Процедура СоздатьЗакладки() Для СчетчикЦикла = -Книга.Worksheets.Count По -2 Цикл Книга.Worksheets(-СчетчикЦикла).Delete(); КонецЦикла; Книга.Worksheets(1).Name = "Лист1"; Для СчетчикЦикла = 1 По Листы.РазмерСписка() Цикл Книга.Worksheets.Add(); Книга.Worksheets(1).Name = Листы.ПолучитьЗначение(СчетчикЦикла); КонецЦикла; Книга.Worksheets(Книга.Worksheets.Count).Delete(); КонецПроцедуры //********************************************************* // Процедура ПриОткрытии() Если (ПустоеЗначение(НачДата)=1) Тогда НачДата = КонГода(ДобавитьМесяц(ТекущаяДата(), -12)); КонецЕсли; КонецПроцедуры Функция ВернутьЗначениеРеквизита(ЗнРекв) Перем ВозврЗнач; Если ТипЗначенияСтр(ЗнРекв) = "Перечисление" Тогда ВозврЗнач = Строка(ЗнРекв); ИначеЕсли ТипЗначенияСтр(ЗнРекв) = "Справочник" Тогда Если СпСпрРегл.НайтиЗначение(ЗнРекв.Вид()) = 0 Тогда Если ЗнРекв.Вид() = "Подразделения" Тогда Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица(ЗнРекв.Вид()); Таб.Вывести(); Для СчетчикЦикла = 1 По Таб.ВысотаТаблицы() Цикл Если СокрЛП(Таб.Область(СчетчикЦикла,1).Текст) = СокрЛП(ЗнРекв.Код) Тогда ВозврЗнач = "П" + СокрЛП(Таб.Область(СчетчикЦикла,2).Текст); Если Прав(ВозврЗнач, 1) = "." Тогда ВозврЗнач = Лев(ВозврЗнач, СтрДлина(ВозврЗнач) - 1); КонецЕсли; Прервать; КонецЕсли; КонецЦикла; //ВозврЗнач = "П" + ЗнРекв.IDD; Иначе ВозврЗнач = ЗнРекв.IDD; КонецЕсли; Иначе Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица(ЗнРекв.Вид()); Таб.Вывести(); Для СчетчикЦикла = 1 По Таб.ВысотаТаблицы() Цикл Если СокрЛП(Таб.Область(СчетчикЦикла,1).Текст) = СокрЛП(ЗнРекв.Код) Тогда ВозврЗнач = СокрЛП(Таб.Область(СчетчикЦикла,2).Текст); Если Прав(ВозврЗнач, 1) = "." Тогда ВозврЗнач = Лев(ВозврЗнач, СтрДлина(ВозврЗнач) - 1); КонецЕсли; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; ИначеЕсли ТипЗначенияСтр(ЗнРекв) = "Счет" Тогда Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("МэпСчета"); Таб.Вывести(); Для СчетчикЦикла = 1 По Таб.ВысотаТаблицы() Цикл Если СокрЛП(Таб.Область(СчетчикЦикла,1).Текст) = СокрЛП(ЗнРекв.Код) Тогда ВозврЗнач = СокрЛП(Таб.Область(СчетчикЦикла,2).Текст); Прервать; КонецЕсли; КонецЦикла; Иначе ВозврЗнач = ЗнРекв; КонецЕсли; Возврат ВозврЗнач; КонецФункции //******************************************* Процедура ВыгрузитьПеремещения() Док = СоздатьОбъект("Документ.ТребованиеНакладная"); Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "ПеремещениеТМЦ" Тогда Лист = Книга.Worksheets(СчетчикЦикла); Прервать; КонецЕсли; КонецЦикла; Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("ВидЗатрат"); Таб.Вывести(); НомСтр = 0; Док.ВыбратьДокументы(НачДата, КонДата); Пока Док.ПолучитьДокумент() = 1 Цикл Если Док.ПометкаУдаления() = 1 Тогда Продолжить; КонецЕсли; Если Док.Проведен() = 0 Тогда Продолжить; КонецЕсли; Если Док.ВидПеремещения = 1 Тогда Продолжить; КонецЕсли; НомСтр = НомСтр + 1; Лист.Cells(НомСтр, 1).Value = "'" + Док.IDD; Подр = ""; Для СчетчикЦикла = 1 По 3 Цикл Рекв = Док.ПолучитьАтрибут("Субконто" + СчетчикЦикла); Если ТипЗначенияСтр(Рекв) = "Справочник" Тогда Если Рекв.Вид() = "Подразделения" Тогда Лист.Cells(НомСтр, 2).Value = "'" + ВернутьЗначениеРеквизита(Рекв); Прервать; КонецЕсли; КонецЕсли; КонецЦикла; Для СчетчикЦикла = 1 По Таб.ВысотаТаблицы() Цикл Если лев(Док.СчетЗатрат, 2) = Таб.Область(СчетчикЦикла, 1).текст Тогда Лист.Cells(НомСтр, 3).Value = "'" + Таб.Область(СчетчикЦикла, 2).текст; Прервать; КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры //******************************************* Процедура ВыгрузитьВыписки() Док = СоздатьОбъект("Документ.Выписка"); ТабКонтр = СоздатьОбъект("ТаблицаЗначений"); ТабКонтр.НоваяКолонка("ИДД"); ТабКонтр.НоваяКолонка("ДДС"); ТабКонтр.НоваяКолонка("Комментарий"); ТабКонтр.НоваяКолонка("Контрагент"); ТабКонтр.НоваяКолонка("Договор"); ТабКонтр.НоваяКолонка("Поступление"); ТабКонтр.НоваяКолонка("Списание"); ТабКонтр.НоваяКолонка("ДатаДок"); ТабКонтр.НоваяКолонка("НомерДок"); ТабКонтр.НоваяКолонка("ВидОплаты"); ТабПодотчет = СоздатьОбъект("ТаблицаЗначений"); ТабПодотчет.НоваяКолонка("ИДД"); ТабПодотчет.НоваяКолонка("ДДС"); ТабПодотчет.НоваяКолонка("Комментарий"); ТабПодотчет.НоваяКолонка("КоррСчет"); ТабПодотчет.НоваяКолонка("Сотрудники"); ТабПодотчет.НоваяКолонка("Субконто2"); ТабПодотчет.НоваяКолонка("Субконто3"); ТабПодотчет.НоваяКолонка("Поступление"); ТабПодотчет.НоваяКолонка("Списание"); ТабПроч = СоздатьОбъект("ТаблицаЗначений"); ТабПроч.НоваяКолонка("ИДД"); ТабПроч.НоваяКолонка("ДДС"); ТабПроч.НоваяКолонка("Комментарий"); ТабПроч.НоваяКолонка("КоррСчет"); ТабПроч.НоваяКолонка("Субконто1"); ТабПроч.НоваяКолонка("Субконто2"); ТабПроч.НоваяКолонка("Субконто3"); ТабПроч.НоваяКолонка("Поступление"); ТабПроч.НоваяКолонка("Списание"); Док.ВыбратьДокументы(НачДата, КонДата); Пока Док.ПолучитьДокумент() = 1 Цикл Если Док.ПометкаУдаления() = 1 Тогда Продолжить; КонецЕсли; Если Док.Проведен() = 0 Тогда Продолжить; КонецЕсли; док.ВыбратьСтроки(); Пока док.ПолучитьСтроку() = 1 Цикл Если (Лев(Док.КоррСчет, 2) = "60") ИЛИ (Лев(Док.КоррСчет, 2) = "62") ИЛИ (Лев(Док.КоррСчет, 2) = "76") Тогда ТабКонтр.НоваяСтрока(); ТабКонтр.ИДД = Док.IDD; ТабКонтр.ДДС = ВернутьЗначениеРеквизита(Док.ВидДвижения); ТабКонтр.Комментарий = Док.НазначениеПлатежа; ТабКонтр.Контрагент = ВернутьЗначениеРеквизита(Док.Субконто1); ТабКонтр.Договор = ВернутьЗначениеРеквизита(Док.Субконто2); ТабКонтр.Поступление = Док.Приход; ТабКонтр.Списание = Док.Расход; ТабКонтр.ДатаДок = Док.ДатаДокВходящий; ТабКонтр.НомерДок = Док.НомерДокВходящий; Если Док.Приход <> 0 Тогда Если (Лев(Док.КоррСчет, 2) = "60") Тогда ТабКонтр.ВидОплаты = "Возврат от поставщика"; Иначе ТабКонтр.ВидОплаты = "Оплата от покупателя"; КонецЕсли; ИначеЕсли Док.Расход <> 0 Тогда Если (Лев(Док.КоррСчет, 2) = "60") Тогда ТабКонтр.ВидОплаты = "Оплата поставщику"; Иначе ТабКонтр.ВидОплаты = "Возврат покупателю"; КонецЕсли; КонецЕсли; ИначеЕсли (Лев(Док.КоррСчет, 2) = "71") Тогда ТабПодотчет.НоваяСтрока(); ТабПодотчет.ИДД = Док.IDD; ТабПодотчет.ДДС = ВернутьЗначениеРеквизита(Док.ВидДвижения); ТабПодотчет.Комментарий = Док.НазначениеПлатежа; ТабПодотчет.КоррСчет = ВернутьЗначениеРеквизита(Док.КоррСчет); ТабПодотчет.Сотрудники = ВернутьЗначениеРеквизита(док.Субконто1); ТабПодотчет.Субконто2 = ВернутьЗначениеРеквизита(док.Субконто2); ТабПодотчет.Субконто3 = ВернутьЗначениеРеквизита(док.Субконто3); ТабПодотчет.Поступление = Док.Приход; ТабПодотчет.Списание = Док.Расход; Иначе ТабПроч.НоваяСтрока(); ТабПроч.ИДД = Док.IDD; ТабПроч.ДДС = ВернутьЗначениеРеквизита(Док.ВидДвижения); ТабПроч.Комментарий = Док.НазначениеПлатежа; ТабПроч.КоррСчет = ВернутьЗначениеРеквизита(Док.КоррСчет); ТабПроч.Субконто1 = ВернутьЗначениеРеквизита(док.Субконто1); ТабПроч.Субконто2 = ВернутьЗначениеРеквизита(док.Субконто2); ТабПроч.Субконто3 = ВернутьЗначениеРеквизита(док.Субконто3); ТабПроч.Поступление = Док.Приход; ТабПроч.Списание = Док.Расход; КонецЕсли; КонецЦикла; КонецЦикла; Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "ВыпискаКонтрагенты" Тогда Лист = Книга.Worksheets(СчетчикЦикла); Прервать; КонецЕсли; КонецЦикла; ТабКонтр.ВыбратьСтроки(); Пока ТабКонтр.ПолучитьСтроку() = 1 Цикл Для СчетчикЦикла = 1 По ТабКонтр.КоличествоКолонок() Цикл Лист.Cells(ТабКонтр.НомерСтроки, СчетчикЦикла).Value = "'" + ТабКонтр.ПолучитьЗначение(ТабКонтр.НомерСтроки, СчетчикЦикла); КонецЦикла; КонецЦикла; Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "ВыпискаПодотчет" Тогда Лист = Книга.Worksheets(СчетчикЦикла); Прервать; КонецЕсли; КонецЦикла; ТабПодотчет.ВыбратьСтроки(); Пока ТабПодотчет.ПолучитьСтроку() = 1 Цикл Для СчетчикЦикла = 1 По ТабПодотчет.КоличествоКолонок() Цикл Лист.Cells(ТабПодотчет.НомерСтроки, СчетчикЦикла).Value = "'" + ТабПодотчет.ПолучитьЗначение(ТабПодотчет.НомерСтроки, СчетчикЦикла); КонецЦикла; КонецЦикла; Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "ВыпискаПрочее" Тогда Лист = Книга.Worksheets(СчетчикЦикла); Прервать; КонецЕсли; КонецЦикла; ТабПроч.ВыбратьСтроки(); Пока ТабПроч.ПолучитьСтроку() = 1 Цикл Для СчетчикЦикла = 1 По ТабПроч.КоличествоКолонок() Цикл Лист.Cells(ТабПроч.НомерСтроки, СчетчикЦикла).Value = "'" + ТабПроч.ПолучитьЗначение(ТабПроч.НомерСтроки, СчетчикЦикла); КонецЦикла; КонецЦикла; КонецПроцедуры //******************************************* Процедура ВыгрузитьРКО() Док = СоздатьОбъект("Документ.РасходныйОрдер"); Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "РасходныйОрдер" Тогда Лист = Книга.Worksheets(СчетчикЦикла); Прервать; КонецЕсли; КонецЦикла; НомСтр = 0; Док.ВыбратьДокументы(НачДата, КонДата); Пока Док.ПолучитьДокумент() = 1 Цикл НомСтр = НомСтр + 1; Лист.Cells(НомСтр, 1).Value = "'" + Док.IDD; Если (Лев(Док.КоррСчет.Код, 2) = "60") ИЛИ (Лев(Док.КоррСчет.Код, 2) = "76") Тогда Лист.Cells(НомСтр, 2).Value = "Расчеты с контрагентами"; Лист.Cells(НомСтр, 3).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто1); Лист.Cells(НомСтр, 4).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто2); ИначеЕсли Лев(Док.КоррСчет.Код, 2) = "71" Тогда Лист.Cells(НомСтр, 2).Value = "Расчеты с подотчетными лицами"; Лист.Cells(НомСтр, 3).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто1); ИначеЕсли Лев(Док.КоррСчет.Код, 2) = "70" Тогда Лист.Cells(НомСтр, 2).Value = "Прочие операции"; КонецЕсли; КонецЦикла; КонецПроцедуры //******************************************* Процедура ВыгрузитьАО() Для СчетчикЦикла = 1 По Книга.Worksheets.Count Цикл Если СокрЛП(Книга.Worksheets(СчетчикЦикла).Name) = "АвансовыйОтчет" Тогда Лист = Книга.Worksheets(СчетчикЦикла); Прервать; КонецЕсли; КонецЦикла; НомСтр = 0; Док = СоздатьОбъект("Документ.АвансовыйОтчет"); Док.ВыбратьДокументы(НачДата, КонДата); Пока Док.ПолучитьДокумент() = 1 Цикл Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку() = 1 Цикл НомСтр = НомСтр + 1; Лист.Cells(НомСтр, 1).Value = "'" + Док.IDD; Лист.Cells(НомСтр, 2).Value = "'" + ВернутьЗначениеРеквизита(Док.Сотрудник); Лист.Cells(НомСтр, 3).Value = "'" + ВернутьЗначениеРеквизита(Док.НаименованиеАванса); Лист.Cells(НомСтр, 4).Value = "'" + ВернутьЗначениеРеквизита(Док.КоррСчет); Лист.Cells(НомСтр, 5).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто1); Лист.Cells(НомСтр, 6).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто2); Лист.Cells(НомСтр, 7).Value = "'" + ВернутьЗначениеРеквизита(Док.Субконто3); Лист.Cells(НомСтр, 8).Value = "'" + ВернутьЗначениеРеквизита(Док.КомуЗаЧто); Лист.Cells(НомСтр, 9).Value = "'" + ВернутьЗначениеРеквизита(Док.ДатаС); Лист.Cells(НомСтр, 10).Value = "'" + ВернутьЗначениеРеквизита(Док.НомерДокумента); Лист.Cells(НомСтр, 11).Value = ВернутьЗначениеРеквизита(Док.Сумма); Лист.Cells(НомСтр, 12).Value = ВернутьЗначениеРеквизита(Док.СуммаПоОтчету); Лист.Cells(НомСтр, 13).Value = ВернутьЗначениеРеквизита(Док.НДС); Лист.Cells(НомСтр, 14).Value = ВернутьЗначениеРеквизита(Док.Количество); Лист.Cells(НомСтр, 15).Value = ВернутьЗначениеРеквизита(Док.НаименованиеАванса); КонецЦикла; КонецЦикла; КонецПроцедуры //******************************************* Процедура Сформировать() Если ПустоеЗначение(НачДата) = 1 Тогда Предупреждение("Необходимо указать дату остатков!", 60); Возврат; КонецЕсли; Если ПустоеЗначение(ФайлДляЗагрузки) = 1 Тогда Предупреждение("Необходимо указать файл для выгрузки остатков!", 60); Возврат; КонецЕсли; ЗапуститьПриложениеЭксель(ФайлДляЗагрузки); СоздатьЗакладки(); Лист = Эксель.Worksheets(1); ВыгрузитьПеремещения(); ВыгрузитьВыписки(); ВыгрузитьРКО(); ВыгрузитьАО(); Книга.Save(); Эксель.DisplayAlerts = 1; Эксель.Quit(); КонецПроцедуры ТабСпр = СоздатьОбъект("ТаблицаЗначений"); Листы = СоздатьОбъект("СписокЗначений"); Листы.ДобавитьЗначение("ПеремещениеТМЦ"); Листы.ДобавитьЗначение("ВыпискаКонтрагенты"); Листы.ДобавитьЗначение("ВыпискаПодотчет"); Листы.ДобавитьЗначение("ВыпискаПрочее"); Листы.ДобавитьЗначение("РасходныйОрдер"); Листы.ДобавитьЗначение("АвансовыйОтчет"); СпСпрВыгр = СоздатьОбъект("СписокЗначений"); СпСпрРегл = СоздатьОбъект("СписокЗначений"); СпСпрРегл.ДобавитьЗначение("СтатьиЗатратНаПроизводство"); СпСпрРегл.ДобавитьЗначение("ВидыНоменклатуры"); СпСпрРегл.ДобавитьЗначение("ПрочиеДоходыИРасходы"); СпСпрРегл.ДобавитьЗначение("ДвиженияДенежныхСредств"); СпНеРегСчетов = СоздатьОбъект("СписокЗначений"); СпНеРегСчетов.ДобавитьЗначение(СчетПоКоду("01.1")); СпНеРегСчетов.ДобавитьЗначение(СчетПоКоду("02.1")); |
|||
5
rs_trade
07.08.10
✎
11:58
|
(0) в ИНТЕРНЕТАХ
|
|||
6
Morphius
07.08.10
✎
12:01
|
(4)Зачем такие сложности?У объекта "Таблица" есть метод записать(), он сохраняет таблицу в т.ч. в Ехель.
|
|||
7
aka AMIGO
07.08.10
✎
12:02
|
||||
8
AeDen
07.08.10
✎
12:07
|
(6) Да? А у таблицы наверное есть возможность создать десяток листов? Или ты предлагаешь пользователю сидеть и склеивать пяток-другой файлов экселевских в один?
|
|||
9
Morphius
07.08.10
✎
12:09
|
В (0) Нет задачи создать несколько листов. Записать() будет проще и намного быстрее чем работа через COM
|
|||
10
AeDen
07.08.10
✎
12:11
|
(9) даю наводку: ключевое слово "примеры".
|
|||
11
Morphius
07.08.10
✎
12:16
|
(10) Видимо, ты выбрал наиболее оптимальный: куча кода вместо 4 строчек
|
|||
12
Aleksey_3
07.08.10
✎
12:24
|
(10)
Таб=создатьОбъект("Таблица")% Таб.ВывестиСекцию("Строка") Таб.Записать("c:\Пример.xls",1) |
|||
13
Любитель XML
07.08.10
✎
12:30
|
(4) жесть... но для примера самое то ))))
|
|||
14
AeDen
07.08.10
✎
12:38
|
(13) Вот и я о чем. Зато сразу дофига всего, чтобы много-много вопросов заранее закрыть. :)
(11) Я выбрал ровно то что хотел выбрать. Ты вместо того чтобы тут распинаться свои примеры привел-бы лучше, пусть чел увидит различные варианты. (12) Спасибо, я в курсе:) |
|||
15
Morphius
07.08.10
✎
12:53
|
(14) После (12) мне уже нечего сказать;))
|
|||
16
AeDen
07.08.10
✎
12:56
|
(15) Ты мог сказать это раньше, много раньше, но не сказал. Почему?
Кстати, ты в 12 видишь три явные ошибки? |
|||
17
Morphius
07.08.10
✎
13:00
|
(16) В принципе в (6) я указал нужный метод, ИМХО этого достаточно. Ты про отсутствие ; и % ?.
|
|||
18
AeDen
07.08.10
✎
13:02
|
(17) Да.
В принципе был вопрос о примере, а не о методе. |
|||
19
Morphius
07.08.10
✎
13:04
|
(18) В свое время, лет 5 назад у меня была задача: сохранить таблицу в Ехель. И я сначала сделал через COM(по совету гугла), а потом узнал про метод записать();)Тогда я плакалъ;))
|
|||
20
Любитель XML
07.08.10
✎
13:09
|
(19) у метода записать() есть свои минусы...
|
|||
21
Morphius
07.08.10
✎
13:10
|
(20) Например? (если создавать вкладки и прочие украшения нет нужды)
|
|||
22
Любитель XML
07.08.10
✎
13:19
|
(21) "если создавать вкладки и прочие украшения нет нужды" тогда зачем вообще заморачиваться с экселем? печатайте из 1с... если надо сохранить - файл->сохранить как, там выбрать xls
|
|||
23
Любитель XML
07.08.10
✎
13:19
|
f djj,ot Qjrctkm hekbn ))
|
|||
24
Любитель XML
07.08.10
✎
13:21
|
Йоксель рулит...
|
|||
25
jawerko
07.08.10
✎
14:09
|
Спасибо!
Спасибо большое! |
|||
26
big
07.08.10
✎
16:50
|
(24) +1000. Всё остальное - от лукавого. :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |