Como parsear (xml) SpreadSheetML

2 respostas
danieldomingues86

Ola Pessoal,

Estou precisando de um negocio meio que urgente.

É o seguinte eu tenho que fazer a importação de arquivos que vem no formato .xml para o banco de dados, só que não é um xml comum esse chama-se SpreadSheetML que é um xml que no meu caso contem tags do excel, esse arquivo pode ser gerado fazendo por exemplo uma exportação no excel para esse formato.

O arquivo se parece com esse assim :

<?xml version="1.0"?>

<?mso-application progid="Excel.Sheet"?>

<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"

 xmlns:o="urn:schemas-microsoft-com:office:office"

 xmlns:x="urn:schemas-microsoft-com:office:excel"

 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"

 xmlns:html="http://www.w3.org/TR/REC-html40">

 <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">

  <Author>XYZ</Author>

  <LastAuthor>XYZ</LastAuthor>

  <Created>2003-12-03T15:48:38Z</Created>

  <LastSaved>2004-01-26T21:04:14Z</LastSaved>

  <Company>ABC & Inc</Company>

  <Version>11.5703</Version>

 </DocumentProperties>

 <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">

  <WindowHeight>6150</WindowHeight>

  <WindowWidth>8475</WindowWidth>

  <WindowTopX>120</WindowTopX>

  <WindowTopY>30</WindowTopY>

  <ProtectStructure>False</ProtectStructure>

  <ProtectWindows>False</ProtectWindows>

 </ExcelWorkbook>

 <Styles>

  <Style ss:ID="Default" ss:Name="Normal">

   <Alignment ss:Vertical="Bottom"/>

   <Borders/>

   <Font/>

   <Interior/>

   <NumberFormat/>

   <Protection/>

  </Style>

..................

Alguem conhece alguma API para que eu possa fazer a manipulação de um documento assim ?
Se sim, onde posso encontrá-la?

Obrigado,
Daniel.

2 Respostas

E

http://msdn.microsoft.com/en-us/library/bb226687(office.11).aspx
http://msdn.microsoft.com/en-us/library/bb226693(office.11).aspx

A propósito, não conheço nenhuma API Java open-source para ler diretamente esse troço (compatível com o Office 2003.) Talvez você tenha (dependendo do seu orçamento) de procurar, avaliar e adquirir alguma biblioteca como a Aspose ( http://www.aspose.com/categories/java-components/aspose.cells-for-java/default.aspx ).

danieldomingues86

É exatamente algo como essa API Aspose que eu preciso, só que free :slight_smile:

De qualquer forma valeu pela ajuda

Se alguem souber de mais alguma por favor me avise.

Obrigado.

Criado 11 de dezembro de 2009
Ultima resposta 11 de dez. de 2009
Respostas 2
Participantes 2