2012-07-02 3 views
3

Excel может сохранять свои книги в формате XML Table, сохраняя всю информацию о форматировании и стилизации, а затем открывать и редактировать их как собственные книги Excel. Я хочу, чтобы генерировать такие файлы Mathematica для Excel программно добавлять информацию о форматировании для строк, столбцов, ячеек и т.д.Создание файлов, совместимых с Excel, из Mathematica

Первая проблема в том, что камень, даже когда я Import Excel-сгенерированный файл в Mathematica, а затем просто Export он возвращается к "XML", полученный файл не открывается Excel. Открытие его в текстовом редакторе показывает, что этот файл содержит апострофы вместо кавычек. Добавление опции "AttributeQuoting" -> "\"" к Export исправляет это, но полученный файл по-прежнему не может быть открыт Excel. Более тщательное сравнение показывает, что Export также сбрасывает большинство префиксов пространства имен в сгенерированном файле.

Как сгенерировать файлы, совместимые с Excel, с Mathematica?

P.S. Этот вопрос исходит из предыдущего вопроса: «How to export to Excel numbers as text fields from Mathematica?»

+0

Версия 8 может сохранять как .xlsx, который * является * форматом на основе XML: делает ли это то, что вам нужно? Кстати, вы, вероятно, получите более быстрые ответы на http://mathematica.stackexchange.com/ - большинство экспертов переехали туда. – Verbeia

+0

@Verbeia Когда я просто экспортирую XML-данные в формат .xlsx, я получаю файл, в котором все данные XML просто помещаются в одну ячейку. Так что это не то, что мне нужно. Спасибо за предложение, теперь я создал [отдельный вопрос] (http://mathematica.stackexchange.com/q/7853/280) на mathematica.stackexchange.com. –

ответ

1

Я нашел решение. From the Documentation,

Некоторые документы используют имена в не-пространства имен-совместимых моды, потому что рекомендация пространств имен XML, который расширяет XML, было сделано после того, как первоначальная рекомендация XML. "IncludeNamespaces"->"Unparsed" - это , обеспечивающий разбор этих документов. Имя всегда представлено как единственная строка, которая отображается в файле XML. Если это абсолютно необходимо, это значение параметра не должно использоваться.

С опцией "IncludeNamespaces"->"Unparsed" все это хорошо и даже вариант "AttributeQuoting" -> "\"" не требуется:

XMLData = Import["test.xml", "IncludeNamespaces" -> "Unparsed"]; 
Export["test-from MMa.xml", XMLData] 

Сохраненный файл открывается Excel без предупреждений.