Sample code for 30+ languages & platforms
Java Requires Chilkat v11.3.0+

XLSX Convert Sheet to CSV

Open an Excel spreadsheet (.xlsx) and loads a sheet into a CSV object.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Csv;
import com.chilkatsoft.chilkat2.StringTable;
import com.chilkatsoft.chilkat2.Zip;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        // .xlsx files are Zip archives
        Zip zip = new Zip();
        try {
            zip.openZip("qa_data/excel/fakeCompanies.xlsx");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        Csv csv = new Csv();
        StringTable sheetNames = new StringTable();
        try {
            csv.xlsxGetSheets(zip, sheetNames);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        if (sheetNames.getCount() == 0) {
            System.out.println("There are no sheets in the .xlsx");
            return;
        }

        // Get the name of the 1st sheet.
        String sheetName = sheetNames.stringAt(0);

        // Load the 1st sheet into the CSV.
        // We could've also loaded the 1st sheet by passing an empty string for the sheet name.
        try {
            csv.xlsxLoadSheet(zip, sheetName);
        } catch (ChilkatException e) {
            System.out.println(zip.getLastErrorText());
            return;
        }

        // The Chilkat CSV API can now be used to read, modify, or insert cells.
        // ...
        // ...

        String csvStr = csv.saveToString();
        System.out.println(csvStr);

        // Sample output:
        // CompanyName,Address,City,State,Zip,Phone
        // Acme Innovations LLC,7428 Westbrook Blvd,Oak Bend,IL,60514,630-555-2398
        // BlueHorizon Data Systems,1850 Crestline Park Suite 210,Rivergate,CA,92814,714-555-8821
        // Pinnacle Manufacturing Corp,3912 Industrial Loop,Maple Ridge,TX,77301,281-555-4477
        // Evergreen Analytics Inc,1250 Highland Terrace,Stonefield,WA,98290,425-555-9914
        // NovaTech Solutions Group,578 Marketview Drive,Clearwater,FL,33760,727-555-6032

        // Save to a .csv file.
        try {
            csv.saveFile2("c:/temp/qa_output/fakeCompanies.csv", "utf-8");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }
    }
}