ONJava.com -- The Independent Source for Enterprise Java
oreilly.comSafari Books Online.Conferences.

advertisement

AddThis Social Bookmark Button
Subject:   Excel to CSV -- better use the andykhan.com java JExcel API
Date:   2008-05-19 01:37:46
From:   Kannan Raghupathy
Response to: Excel to CSV -- better use the andykhan.com java JExcel API

Hi Nanda,


The code below will help you to solve the problem. Make sure that you have jxl.jar file and then compile and run the below code.


import java.io.*;
import jxl.*;
import java.util.*;


class ConvertCSV
{
public static void main(String[] args)
{
try
{
//File to store data in form of CSV
File f = new File("Output.csv");


OutputStream os = (OutputStream)new FileOutputStream(f);
String encoding = "UTF8";
OutputStreamWriter osw = new OutputStreamWriter(os, encoding);
BufferedWriter bw = new BufferedWriter(osw);


//Excel document to be imported
String filename = "input.xls";
WorkbookSettings ws = new WorkbookSettings();
ws.setLocale(new Locale("en", "EN"));
Workbook w = Workbook.getWorkbook(new File(filename),ws);


// Gets the sheets from workbook
for (int sheet = 0; sheet < w.getNumberOfSheets(); sheet++)
{
Sheet s = w.getSheet(sheet);


bw.write(s.getName());
bw.newLine();


Cell[] row = null;

// Gets the cells from sheet
for (int i = 0 ; i < s.getRows() ; i++)
{
row = s.getRow(i);


if (row.length > 0)
{
bw.write(row[0].getContents());
for (int j = 1; j < row.length; j++)
{
bw.write(',');
bw.write(row[j].getContents());
}
}
bw.newLine();
}
}
bw.flush();
bw.close();
}
catch (UnsupportedEncodingException e)
{
System.err.println(e.toString());
}
catch (IOException e)
{
System.err.println(e.toString());
}
catch (Exception e)
{
System.err.println(e.toString());
}
}
}


Happy coding.
Kannan


1 to 1 of 1
1 to 1 of 1