Open CSV File

Information, tips and instructions

Convert Excel to XML

Excel files are used to store textual data in tabled format with columns typically named from A to Z and rows named from 1 to 9999 or higher number.

XML or Extensible Markup Language is also used to store structured data but the structure of the stored data could be more complex than a basic table. Thus, converting from Excel to XML is relatively straightforward since you will be converting data to a format which can store more complex structures.

For conversion we can assume that a XML file will represent Excel data as an <entry> tag, where each <entry> entity will be a row from Excel table. We will also assume that first line of Excel file contains field names and other lines contain data entries for these fields. Thus each entity in the XML tag will contain mapped field names to values of the specific Excel line.

Let’s proceed with an example of a Excel file.

ABC
1NameAgeGender
2John30Male
3Melissa25Female
4Alan42Male
5Chelsey40Female

Now place the following formula in the column D starting from the second row: =CONCAT("<entry><",A1, ">", A2, "</", A1, "><",B1, ">", B2, "</", B1, "><",C1, ">", C2, "</", C1, ">")

You should get <entry><Name>John</Name><Age>30</Age><Gender>Male</Gender></entry> line as a result of this formula. Copy this formula to all the other rows in column D (to quickly copy it, select the D2 cell and click on a small rectangular section at the right bottom conrner of the cell border). Once you copy you will get following lines in column D.

<entry><Name>John</Name><Age>30</Age><Gender>Male</Gender></entry>
<entry><Name>Melissa</Name><Age>25</Age><Gender>Female</Gender></entry>
<entry><Name>Alan</Name><Age>42</Age><Gender>Male</Gender></entry>
<entry><Name>Chelsey</Name><Age>40</Age><Gender>Male</Gender></entry>

To make it fully compliant XML file add <entries> at the beginning and </entries> at the end of the file. Also, add the XML file header at the beginning as shown below.

<?xml version="1.0" encoding="UTF-8"?>
<entries>
<entry><Name>John</Name><Age>30</Age><Gender>Male</Gender></entry>
<entry><Name>Melissa</Name><Age>25</Age><Gender>Female</Gender></entry>
<entry><Name>Alan</Name><Age>42</Age><Gender>Male</Gender></entry>
<entry><Name>Chelsey</Name><Age>40</Age><Gender>Male</Gender></entry>
</entries>

You can run about XML file through XML beautifier online and get a better looking version as shown below.

<?xml version="1.0" encoding="UTF-8"?>
<entries>
   <entry>
      <Name>John</Name>
      <Age>30</Age>
      <Gender>Male</Gender>
   </entry>
   <entry>
      <Name>Melissa</Name>
      <Age>25</Age>
      <Gender>Female</Gender>
   </entry>
   <entry>
      <Name>Alan</Name>
      <Age>42</Age>
      <Gender>Male</Gender>
   </entry>
   <entry>
      <Name>Chelsey</Name>
      <Age>40</Age>
      <Gender>Male</Gender>
   </entry>
</entries>

Your XML file is ready!