|
|
|
Как выгрузить отчет в лист Excel в существующей книге? | ☑ | ||
|---|---|---|---|---|
|
0
dwarrior2
08.07.08
✎
22:25
|
Добрый вечер!
Имеется отчет, как я могу выгрузить его в существующий файл Excel и поместить на определенный лист, например 3, сохранив данные на листе 1 и 2? В отчете много форматирования, хотелось бы его сохранить. |
|||
|
1
ТелепатБот
гуру
08.07.08
✎
22:25
|
||||
|
2
Если
09.07.08
✎
05:28
|
Excel = СоздатьОбъект("Excel.Application");
Excel.Workbooks.Open(ФЗ); Лист=Excel.Worksheets(3); |
|||
|
3
Яндекс
09.07.08
✎
07:08
|
//*******************************************
// CopyWorsheetExcel(vlParameter) // // Параметры: // vlParameter - Список значений. Должен содержать // следующие значения: // InBook - Строка. Полное имя файла источника. // OutBook - Строка. Полное имя файла цели. // Sheet - Строка. Имя листа. // // Возвращаемое значение: // Число. 0 - лист скопирован. Иначе код ошибки: // 1 - Не пердали ни одного файла. // 2 - Файл источник не существует. // 3 - Файл цель не существует. // 4 - Не передали имя листа. // 5 - Excel не установлен. // 6 - В файле источника отсутсвует лист с // переданным наименованием. // // Описание: // Функция копирует лист Excel из одной книги в другую. // Если передали только одно имя, то создается копия листа // в этой же книге. // function CopyWorsheetExcel(vlParameter); // Получим из списка имя файлов. InFile = vlParameter.Get("InBook"); OutFile = vlParameter.Get("OutBook"); // Проверим правильность полученных параметров. if (emptyvalue(InFile) = 1) and (emptyvalue(OutFile) = 1) then // Если не передали не одного имени файла, // то закончим с ошибкой. return 1; elsif emptyvalue(InFile) = 1 then // Если получили только OutBook скопируем его // значение. Будем копировать лист в одной книге. InFile = OutFile; elsif emptyvalue(OutFile) = 1 then // Аналогично. OutFile = InFile; endif; // Проверим существование файла источника. if fs.ExistFile(InFile) = 0 then return 2; endif; // Проверим существование файла цели. if fs.ExistFile(OutFile) = 0 then return 3; endif; // Получим имя листа. InWorksheet = vlParameter.Get("Sheet"); if emptyvalue(InWorksheet) = 1 then // Если значение пустое, то закончим с // ошибкой. return 4; endif; // Пробуем подключиться к OLE Server Excel try Excel = createobject("Excel.Application"); except return 5; endtry; // Откроем файл источника. Excel.Workbooks.Open(InFile); // Если источник не равен цели, то if InFile <> OutFile then // откроем и файл цели. Excel.Workbooks.Open(OutFile); endif; // Получим указатели на открытые нами книги. InBook = Excel.Workbooks.Item(ShortName(InFile)); OutBook = Excel.Workbooks.Item(ShortName(OutFile)); // Посмотрим есть ли у источника лист с нужным // нам наименованием. try // Если есть, то получим указатель на него. InSheet = InBook.Sheets(InWorksheet); except // Иначе, говорим об ошибке. return 6; endtry; // Копируем лист. InSheet.Copy(OutBook.Worksheets(1)); // Покажем результат пользователю. Excel.Visible = 1; Excel.EnableEvents = 1; Excel.ScreenUpdating = 1; return 0; endfunction |
|||
|
4
dwarrior2
10.07.08
✎
07:16
|
Т.е. механизм такой - сохраняем отчет во временный файл Excel и потом копируем лист из него в нужный мне файл Excel?
Спасибо, попробую:) |
|||
|
5
JeHer
10.07.08
✎
07:46
|
(3) а если нету МС офиса? Тогда выручает Йоксель, йопта. Юзай Яндекс или www.yoksel.ru, как мне помнится
|
|||
|
6
Яндекс
10.07.08
✎
07:52
|
(5)а если бы небыло, то так бы и сказали... а насчет йокселя согласен - йобата
|
|||
|
7
JeHer
10.07.08
✎
08:01
|
(6) Я не разработчик Ёкселя, и не получаю деньгу за рекламу, НО это практически ЕДИНСТВЕННЫЙ нормальный конвретер тз MXL to XLS, ИМХО. Я им пользуюсь, юзеры в удовлетворении, я в еще большем. Так что, нулевой, юзай йоксель.
|
|||
|
8
Яндекс
10.07.08
✎
08:18
|
нулевой это когда хер висит между ног и не встает... лучше шлепай амортизацию начислять...
|
|||
|
9
Ужас бухгалтера
10.07.08
✎
10:12
|
||||
|
10
Яндекс
10.07.08
✎
10:24
|
(9)достаточный что бы не пользоваться вашей подделкой под ексель
|
|||
|
11
Яндекс
10.07.08
✎
10:27
|
||||
|
12
Ужас бухгалтера
10.07.08
✎
10:30
|
(10) Ну естественно, когда такие проблемы, где уж тут пользоваться внешними компонентами :D
|
|||
|
13
Яндекс
10.07.08
✎
10:39
|
(12)давай не умничай помоги своим йопселем решить проблему
|
|||
|
14
Ужас бухгалтера
10.07.08
✎
10:40
|
(13) Дык, все решается :D
|
|||
|
15
Яндекс
10.07.08
✎
11:13
|
вставить в лист макрос, выполнить его и получить результат
|
|||
|
16
Ужас бухгалтера
10.07.08
✎
11:16
|
(15) Вставить в 1С макрос (ой, пардон, код на встроенном языке), выполнить его и получить результат. И главное, без всяких внешних ... макросов!!!
|
|||
|
17
Яндекс
10.07.08
✎
11:23
|
(16)как вставить в 1С макрос для екселя?
|
|||
|
18
Ужас бухгалтера
10.07.08
✎
11:26
|
(17) А на хрен? Может, Йоксель тебе еще носки гладить должен? У него есть определенный набор возможностей. Каждый сам определяет, достаточны они для него или нет.
|
|||
|
19
Яндекс
10.07.08
✎
11:29
|
(18)мне надо обработать данные имея поноценный функционал возможностей VBA ... например разобрать компаунд...
я разве просил носки гладить... ты сказал, что йоксель замена екселя... то есть все таки йопселем не замена екселя? |
|||
|
20
Ужас бухгалтера
10.07.08
✎
11:34
|
(19) Если тебе нужен полноценный функционал VBA, то бери Excel и не парься.
То, что Йоксель замена Excel я никогда не говорил - это ты сам себе придумал и сам с этой глупостью борешься. Йоксель в ряде случаев удобнее для создания файлов Excel, чем использование Мокселя или OLE-automation. Вот и все. Каждый сам решает, достаточен ли ему функционал Йокселя и делает выбор. Пытаться же абсолютно все делать стандартным Мокселем и Excel через OLE как делаешь ты - неразумно. Пытаться абсолютно все делать Йокселем как НЕ ДЕЛАЮ я - тоже неразумно. |
|||
|
21
Яндекс
10.07.08
✎
11:41
|
то есть переведя на русский... если вам нужен вот простой файлик екселя(аналог по возможностям стандартного мокселя) то имейте йоксель... а если более правильный и навороченый, то я пас... тут вам ексель в руки?
|
|||
|
22
Ужас бухгалтера
10.07.08
✎
11:44
|
(21) Нет. Если перевести на русский, то звучит оно так: "Если вас устраивает функционал Йокселя по созданию файлов Excel, то используйте Йоксель. Если вас не устраивает функционал Йокселя, то используйте Excel".
|
|||
|
23
Яндекс
10.07.08
✎
11:53
|
(22)тогда не понял смысл твоего наезда... тебе не понравилось, что я твою подделку под екслеь йобатой назвал?
|
|||
|
24
Яндекс
10.07.08
✎
11:54
|
екслеь = ексель
|
|||
|
25
Если
10.07.08
✎
11:55
|
минуточку. попкорн кончился.
|
|||
|
26
Ужас бухгалтера
10.07.08
✎
11:58
|
(23) Что вы, что вы, здесь никто ни на кого не наезжает :D
|
|||
|
27
Яндекс
10.07.08
✎
12:02
|
да... а то я подумал, что вы привыкли ужан на бухгалтеров нагонять и решили эксперемент на мисте провести...
|
|||
|
28
Ужас бухгалтера
10.07.08
✎
12:04
|
(27) Испугался, да? :D
|
|||
|
29
Яндекс
10.07.08
✎
12:14
|
как медведь бочонка меда
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |