Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Трансформация XML в XLSX(Excel 2007) 
:(
    Опции темы
rang3r
Дата 29.3.2011, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



Привет Всем!
 Подскажите пж-та в следующей ситуации,  у меня есть xslt шаблон, преобразующий xml -> xls, вот шапка:
            
Код

String str= "<?xml version=\"1.0\"?>\n" +
            "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">\n" +
            "    <xsl:template match=\"/REPORT\">\n" +
            "        <xsl:processing-instruction name=\"mso-application\">progid=\"Excel.Sheet\"</xsl:processing-instruction>\n" +
            "        <xsl:variable name=\"serverUrl\" select=\"@SERVER_URL\"/>\n" +
            "        <Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n" +
            "                  xmlns:x=\"urn:schemas-microsoft-com:office:excel\"\n" +
            "                  xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:html=\"http://www.w3.org/TR/REC-html40\">\n";

   При попытке простой замены расширения файла с xls на xlsx , Excel ругается 
user posted image

Что надо изменить в шапке что бы файл xlsx открывался без проблем, и возможно ли это? Т.к. поиск в сети дал только то что уже есть. 
PM MAIL Skype   Вверх
diadiavova
Дата 29.3.2011, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Документ xlsx не является xml документом. Это фактически зип-архив, в котором упаковны хмл-документы специальной структуры. В то же время эксель поддерживает специальный хмл-формат, для описания рабочих книг, как я понимаю, у тебя выполняется преобразование именно в этот формат, а у него(если мне не изменяет склероз) должно быть расширение xml. Если тебе нужно получить xlsx файл, то тут замена шапки не поможет. Просто возьми xlsx файл какой хочешь получить распакуй его зип-архиватором и посмотри что там. Можешь на этой базе написать собственный шаблон.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
rang3r
Дата 29.3.2011, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



не совсем понимаю, а как же тогда xls формат для excel spreadsheet 2003, там же документ по сути xml ?
 Я думал что для 2007 такой же механизм есть.
PM MAIL Skype   Вверх
diadiavova
Дата 29.3.2011, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Цитата(rang3r @  29.3.2011,  20:42 Найти цитируемый пост)
а как же тогда xls формат для excel spreadsheet 2003

Это бинарный формат
Цитата(rang3r @  29.3.2011,  20:42 Найти цитируемый пост)
там же документ по сути xml 

С чего ты это взял? Возьми любой документ эксель и сохрани его, при этом выбрав формат сохранения. Если сохранишь как Таблица xml 2003, то получишь, на сколько я понимаю, тот хмл формат, с которым работаешь сейчас, если же сохранишь его в формате xls, то получишь бинарный файл.
Цитата(rang3r @  29.3.2011,  20:42 Найти цитируемый пост)
 Я думал что для 2007 такой же механизм есть. 

В версии 2007 года поддерживается формат хмл таблиц. Просто сохраняй документ с расширением xml и он будет прекрасно грузиться экселем 2007.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
rang3r
Дата 29.3.2011, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



Спасибо понял.
Цитата(diadiavova @ 29.3.2011,  19:56)
Просто сохраняй документ с расширением xml и он будет прекрасно грузиться экселем 2007.

Не совсем прекрсно....
  Собственно это мне нужно для проверки одной "фичи" которую нашел в Excel, есть xml который генерируется на основе данных из базы, по нему уже строиться excel документ, там есть референсные поля, так вот если этих референсных записей будет больше чем 65330 то репорт не открывается, валиться с ошибкой Unknow, да, эти записи не обзательно должны быть в одной колонке, может быть 4 колонки и всего ~16320 строк, не знаю почему это ? Т.к. работает один и тот же шаблон, и репорты с меньшим количеством референсов(или без них) открываются без проблем, а тут вот такое вот....
 Доументированной особенности не нашел, и вариантов решения к сожалению тоже, проверял это на 2003, 2007 и 2010 оффисе, везде одна и та же проблема.
   Не сталкивался с таким? Или м.б. какие нить идеи по этому поводу?  
PM MAIL Skype   Вверх
diadiavova
Дата 29.3.2011, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Цитата(rang3r @  29.3.2011,  21:32 Найти цитируемый пост)
Не сталкивался с таким? Или м.б. какие нить идеи по этому поводу?   

Я с офисом мало работал, думаю вопрос больше относится к разделу, посвященному именно офису.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.1046 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.