Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
Добрый день! помогите пожалуйста разобраться, что делаю не так? 1. С помощью инструмента Мастер Activate. активировал класс Microsoft Excel 11.0 Object Library (v2.0) 2. строю CSP страницу: <html> <head> <!-- Put your page Title here --> <title> </title> </head> <body> ... <input type="button" name="btnRep" value="Отчет" onclick="#server(..ExReport())#"> ... </body> </html> <script language="Cache" Method="ExReport" runat="Server"> ... set excApp = ##class("Activate.Excel.Application").%New() ... </script> и на строчке set excApp = ##class("Activate.Excel.Application").%New() у меня вылетает ошибка "MS Excel вызвал не допустимую ошибку и будет закрыт и все в этом духе" В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2007, 17:26 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
Если вы делаете отчеты в Excel, то можно и без Activate обойтись. Например, так : http://tech.groups.yahoo.com/group/cache_ru/message/6595 -------- Cache for Windows (Intel) 5.2.3 (Build 710U) Tue Dec 12 2006 10:15:11 EST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2007, 18:03 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
Прислушайтесь к мудрому Мампсу и Александру Коблову, запускать Excel на сервере не совсем хорошо. Встанет он там раком и иди смотри что ему не нравится, а это вполне реальная ситуация, например при совместном доступе двух процессов к одному файлу на редактирование, Excel встанет с вопросом (другой пользователь редактирует файл, открыть на чтение ...). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2007, 19:08 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
Проделал, как тут написано http://tech.groups.yahoo.com/group/cache_ru/message/6595 только что-то вместо русских букв знаки вопросов ("?") выходят в экселе мне для чего объект эксель-то нужен был, некоторые отчеты будут сложными, т.е. в них будут присутствовать объекты, например чекбоксы, пользователь в них галочки будет расставлять а внизу формула должна быть выбранных человек столько-то (т.е. чекбоксов с галочками) такой метод использовал при построении отчета: XML XSL преобразование: set objXMLDoc = ##class("Activate.MSXML2.DOMDocument60").%New() set xslDoc = ##class("Activate.MSXML2.DOMDocument60").%New() do objXMLDoc.loadXML(XMLCode) do xslDoc.loadXML(XSLCode) do xslDoc.setProperty( "SelectionNamespaces", "xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:fo='http://www.w3.org/1999/XSL/Format'" ) set s = objXMLDoc.transformNode(xslDoc) ... вот тут и проблема как содержимое переменной s открыть в экселе ... do xslDoc.%Close() do objXMLDoc.%Close() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 09:25 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
Может, сам эксель держать у клиента полностью, общаться с сервером например через Vism? А генерить экселевские файлы с чекбоксами на стороне сервера как-то кажется не очень правильным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 09:39 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
добавил в свою csp страницу код <script language="Cache" method="OnPreHTTP" arguments="" returntype="%Boolean"> set %response.ContentType = "application/x-msexcel" d %response.SetHeader("Content-Disposition","attachment;filename=excel.xls") set %response.Expires = 30 quit 1 </script> заработало, даже если выводить результат трансформации по шаблону set s = objXMLDoc.transformNode(xslDoc) w s только таже проблема почему русские буквы в виде вопросов выходят?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 11:39 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
В какой кодировке сервер отдает данные и в какой их принимает эксель? Какая локаль стоит? В экселе в меню "сервис - параметры - общие - параметры веб-документа" - что там? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 11:44 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
делаю XML XSL преобразование: XML файл encoding="windows-1251" шаблон XSL encoding="windows-1251" результат s = objXMLDoc.transformNode(xslDoc) - не знаю, кажется там просто будет (<?xml version="1.0" ?> ) а здесь где указывать? <script language="Cache" method="OnPreHTTP" arguments="" returntype="%Boolean"> set %response.ContentType = "application/x-msexcel" d %response.SetHeader("Content-Disposition","attachment;filename=excel.xls") set %response.Expires = 30 quit 1 </script> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 12:10 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
в дополнении в экслеле стоит кодировка Кирилица (Windows) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 12:20 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
Все таки файл, который отдает сервер, нужно посмотреть и определить, какая физическая кодировка используется и сравнить с декларируемой в xml. Кстати, в формате XML обязательно декларирование кодировки, разве нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 12:33 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
scaroрусские буквы в виде вопросов выходят?? Попробуйте в классе добавить параметр Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 12:42 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
scaroделаю XML XSL преобразование: XML файл encoding="windows-1251" шаблон XSL encoding="windows-1251" результат s = objXMLDoc.transformNode(xslDoc) - не знаю, кажется там просто будет (<?xml version="1.0" ?> ) а здесь где указывать? <script language="Cache" method="OnPreHTTP" arguments="" returntype="%Boolean"> set %response.ContentType = "application/x-msexcel" d %response.SetHeader("Content-Disposition","attachment;filename=excel.xls") set %response.Expires = 30 quit 1 </script> Вставте в метод s %response.CharSet="windows-1251" А кто-нить знает что в ContentType для открытия в ОпенОфис? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 12:55 |
|
||
|
Объявляю класс set excApp = ##class("Activate.Excel.Application").%New() - Ошибка
|
|||
|---|---|---|---|
|
#18+
Пропустил "написать" в предыдущем посте.. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 12:57 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=34912826&tid=1559133]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 382ms |

| 0 / 0 |
