Women in Technology

Hear us Roar



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

Main Topics Oldest First

Showing messages 1 through 1 of 1.

  • Excel to CSV -- better use the andykhan.com java JExcel API
    2010-07-10 16:30:46  DJade [View]

    Hi Kannan,
    Good day to you.

    Can you please tell me where we need to put jxl jar file in java folder? is it java/bin?
    I am not that much experienced with java and trying to write a program for this and i get compilation errors as its looking for jxl classes and cannot find any.


    Thanks,
    DJade