Если вы создадите и откроете в Excel файл XML, подобный следующему:
<rows>
<row>
<name>Name 1</name>
<number>123.45</number>
<date>2012-03-21</date>
</row>
<row>
<name>Name 2</name>
<number>678.01</number>
<date>2012-03-22</date>
</row>
</rows>
Excel выполнит довольно хорошую работу по автоматическому распознаванию типов данных - однако он будет жаловаться, что у XML нетсвязанная схема.
Чтобы связать схему с XML, вы создаете файл схемы XML (rows.xsd
):
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="rows">
<xs:complexType>
<xs:sequence>
<xs:element name="row" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="number" type="xs:float"/>
<xs:element name="date" type="xs:date"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
и затем ссылаетесь на него в своем XML:
<rows xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="rows.xsd">
<row>
<name>Name 1</name>
<number>123.45</number>
<date>2012-03-21</date>
</row>
<row>
<name>Name 2</name>
<number>678.01</number>
<date>2012-03-22</date>
</row>
</rows>
В файле схемы вы можете указать тип данных и описать свою структуру - но вы должны знать не всегда тривиальный синтаксис XSD.
См. Также это: http://support.microsoft.com/kb/827294 (примечаниехотя это говорит о «XSL», где вместо него следует сказать «XSD»)