You are on page 1of 2

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.quan.

excel; /** * * @author sanjeev.das */ import org.apache.poi.hssf.usermodel.*; import org.w3c.dom.*; import java.io.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; public class ExcelToXML { public void generateXML(File excelFile) { try { InputStream input = new FileInputStream(excelFile); HSSFWorkbook workbook = new HSSFWorkbook(input); HSSFSheet spreadsheet = workbook.getSheetAt(0); HSSFRow row0 = spreadsheet.getRow(0); //Initializing the XML document DocumentBuilderFactory factory = DocumentBuilderFactory.newInst ance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.newDocument(); Element rootElement = document.createElement("GRLoader"); document.appendChild(rootElement); //Creating top-level elements Element element = null; for (int i = 1; i <= spreadsheet.getLastRowNum(); i++){ element = document.createElement("ci"); rootElement.appendChild(element); //Adding first subelements Element subelement = null; for (int j = 0; j <= row0.getLastCellNum(); j++){ subelement = document.createElement(row0.getCel l((short)j).getStringCellValue()); element.appendChild(subelement); HSSFRow row1 = spreadsheet.getRow(i); subelement.appendChild(document.createTextNode( row1.getCell((short)j).getStringCellValue())); } } TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(); //Add indentation to output transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}inde nt-amount", "2");

DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(new File("D:/sanjeev/BOO KS/CI_test1.xml")); transformer.transform(source, result); } catch (IOException e) { System.out.println("IOException " + e.getMessage()); } catch (ParserConfigurationException e) { System.out .println("ParserConfigurationException " + e.getMessage()); } catch (TransformerConfigurationException e) { System.out.println("TransformerConfigurationException "+ e.getM essage()); } catch (TransformerException e) { System.out.println("TransformerException " + e.getMessage()); } } public static void main(String[] argv) { ExcelToXML excel = new ExcelToXML(); File input = new File("D:/sanjeev/BOOKS/CI_excel.xls"); excel.generateXML(input); } }

You might also like