Bonjour,
j'ai un fichier Excel et je veux le transformer en un fichier XML, mais je sais pas comment faire, est ce que quelqu'un a une idée?
merci d'avance
Bonjour,
j'ai un fichier Excel et je veux le transformer en un fichier XML, mais je sais pas comment faire, est ce que quelqu'un a une idée?
merci d'avance
Ca dépend pas mal de ce que tu veux comme xml ....
Sois un peu plus précis (structure de ton fichier excel, structure de ton fichier xml)
alors j'ai dans mon fichier excel par exemple
----------------------------------------
nom | prénom | adresse | société |
---------------------------------------
le nom| le prenom| l'adresse| sté |
--------------------------------------
etc.............
et j veux avoir dans mon fichier XML la choses suivantes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<xml> <personnes> <personne> <nom>le nom</nom> <prénom>le prenom</prénom> <adresse>adresse</adresse> <société>sté</société> </personne> <personne> <nom>le nom1</nom> <prénom>le prenom1</prénom> <adresse>adresse1</adresse> <société>sté1</société> </personne> etc.....
merci Morbo
j'ai pas bien compris ce que tu veux dire par énérer un xml générique.
est ce que tu peux me donner un exemple ?
J'ai jamais utilisé JExcel, mais il va te produire un xml à sa sauce contenant les informations du fichier excel.
Ce sera certainement pas la structure xml dont tu a besoin dans ton cas particulier, donc utiliser une transformation xslt te permettra de retraité ce xml "générique" pour avoir la structure que tu recherche.
après execution de ce petit programme :
j'ai obtenu ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import jxl.Workbook; import jxl.demo.XML; import jxl.read.biff.BiffException; public class Test { private XML xml; private Workbook workbook; public Test(){ try { workbook=Workbook.getWorkbook(new File("C:/exemple2.xls")); xml=new XML(workbook, new FileOutputStream(new File("c:/exemple2.xml")),"ISO-8859-1",false); } catch (BiffException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new Test(); }
y a ça ![CDATA[....]] qui me dérange alors est ce qu'il y a un moyen de le supprimer !!?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?xml version="1.0" ?> <!DOCTYPE workbook SYSTEM "workbook.dtd"> <workbook> <sheet> <name><![CDATA[Feuil1]]></name> <row number="0"> <col number="0"><![CDATA[Secteurs d'activité : ]]></col> </row> <row number="1"> <col number="0"><![CDATA[Nom]]></col> <col number="1"><![CDATA[Prénom]]></col> <col number="2"><![CDATA[Nom d'épouse]]></col> <col number="3"><![CDATA[Société]]></col> <col number="4"><![CDATA[Tél.]]></col> <col number="5"><![CDATA[Fax]]></col> <col number="6"><![CDATA[Secteur]]></col> <col number="7"><![CDATA[Ville]]></col> </row> <row number="2"> <col number="0"><![CDATA[ XENOIMA]]></col> <col number="1"><![CDATA[ LEILA]]></col> <col number="2"><![CDATA[ CHERFF]]></col> <col number="3"><![CDATA[ LHNURN OYNUSN]]></col> <col number="4"><![CDATA[ 022 24 40 59]]></col> <col number="5"><![CDATA[ 022 94 83 43/022 24 50 39]]></col> <col number="6"><![CDATA[ Association de bienfaisance]]></col> <col number="7"><![CDATA[Casablanca]]></col> </row>..............etc
est ce que avec XSL on peut le faire!!?
Hum, pourquoi ça te dérange?
C'est même mieux qu'ils soient la car ça permet d'avoir des tag en tant que texte. En tout cas d'un point de vu xml c'est tout à fait correcte.
Si tu veux vraiment les virer tu peux faire ça en xslt:
La DTD du xml posera peut être problème, j'ai jamais eu à gérer ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method = "xml" version="1.0" encoding="ISO-8859-1" omit-xml-declaration="no" standalone="yes" indent="yes"/> <!-- Identity transformation template --> <xsl:template match="/ | @* | * | comment() | processing-instruction() | text()"> <xsl:copy> <xsl:apply-templates select="@* | * | comment() | processing-instruction() | text()"/> </xsl:copy> </xsl:template> </xsl:stylesheet>
Sinon les objets Workbook et XML de JExcel offre peut être des options de configuration.
merci Morbo
je vais voir ça et je te tiendrai au courant
Content de l'apprendre, bonne continuation .
Bonjour
je n'arrive pas à parser ce xml suivant :
<?xml version="1.0" encoding="UTF-8"?>
<?mso-application progid="Excel.Sheet"?>
<!DOCTYPE Workbook PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:user="urn:my-scripts" xmlns:msxsl="urn:schemas-microsoft-comslt" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns="urn:schemas-microsoft-com:office:excel" xmlns:o="urn:schemas-microsoft-com:office:office">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>A</Author>
<LastAuthor>A</LastAuthor>
<Created>2009-04-21T12:50:12Z</Created>
<Company>A</Company>
<Version>11.6568</Version>
</DocumentProperties>
<Styles>
<Style ss:Name="Normal" ss:ID="Default">
<Alignment ss:Vertical="Bottom" />
<Borders />
<Font />
<Interior />
<NumberFormat />
<Protection />
</Style>
<Style ss:ID="s21">
<Interior ssattern="Solid" ss:Color="#FFFF00" />
</Style>
</Styles>
<Worksheet ss:Name="infos Générale">
<Table>
<Column ss:Width="262.5" ss:Index="4" />
<Column ss:Width="85.5" />
<Row>
<Cell>
<Data ss:Type="String" />
</Cell>
<Cell>
<Data ss:Type="String" />
</Cell>
<Cell>
<Data ss:Type="String" />
</Cell>
<Cell>
<Data ss:Type="String">Infos</Data>
</Cell>
</Row>
</Table>
</Worksheet>
</Workbook>
à cause de la deuxième ligne
<!DOCTYPE Workbook PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
voici mon code java
public Parseur() {
// Chargement du document
try {
factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
doc = builder.parse(new File("D:\\licence.xml"));
this.nroot = doc.getDocumentElement();
} catch (Exception e) {
e.printStackTrace();
}
}
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager