27.07.2015, 09:49 | #1 |
Участник
|
Динамический OXML отчет
Есть класс для создания отчетов XML_ExcelReport_Ru. Как с помощью него можно создавать страницы в Excele динамический и заполнять их. Есть шаблон на основе этого шаблона создаю новую страницу в книге Excel. При заполнений этой старницы возникают проблемы. Так как на новую старницу не копируются секций из первой старницы. Можно ли вообще заполнить как то без указания секций в книге.
|
|
27.07.2015, 10:09 | #2 |
Участник
|
Секции в отчете - это, насколько я понимаю, именованные диапазоны ячеек книги Excel, именно книги, а не текущего листа. При копировании листа его диапазоны ячеек, имеющие имена, не становятся автоматом именованными на листе-копии, потому что для них нужно было бы сгенерировать новые имена, уникальные в рамках книги Excel.
|
|
27.07.2015, 10:41 | #3 |
Участник
|
Цитата:
Сообщение от gl00mie
Секции в отчете - это, насколько я понимаю, именованные диапазоны ячеек книги Excel, именно книги, а не текущего листа. При копировании листа его диапазоны ячеек, имеющие имена, не становятся автоматом именованными на листе-копии, потому что для них нужно было бы сгенерировать новые имена, уникальные в рамках книги Excel.
|
|
28.07.2015, 08:58 | #4 |
Участник
|
никто не пробовал что ли заполнять добавленный лист в excele???
|
|
28.07.2015, 09:30 | #5 |
Злыдни
|
Для копирования именованных диапазонов надо использовать макрос VBA на вроде этого:
X++: Sub CopyNames() Dim Source As Workbook Dim Target As Workbook Dim n As Name Set Source = ActiveWorkbook Set Target = Workbooks("Book2.xlsx") For Each n In Source.Names Target.Names.Add Name:=n.Name, RefersTo:=n.Value Next End Sub
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. Последний раз редактировалось KiselevSA; 28.07.2015 в 09:36. |
|
28.07.2015, 14:08 | #6 |
Участник
|
Спасибо за ответы решил стандартными методами. Потратил правда 1,5 дня.
Кому интересно вот X++: Document.insertSheet(1,1, "sss"); Document.insertSheet(1,2, "ddd"); document.workbook().addDefinedName(#Assa, "sss", 1, 0, 6, 0); this.addSection(#Assa); this.execute(#Assa); |
|
|
За это сообщение автора поблагодарили: trud (1), gl00mie (1). |
25.04.2016, 10:59 | #7 |
Участник
|
Добрый день!
Есть ли ограничение на количество строк созданных с помощью XmlExcelReport_RU.execute(_bookmark) и возможно ли его обойти? Проблема заключается в том, что при вставке более 20.000 строк формируется поврежденный файл. |
|