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

XLSX Convert Sheet to CSV

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

Chilkat React Native Downloads

React Native
import { Csv, StringTable, Zip } from '@chilkat/react-native'

async function chilkatExample() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  // .xlsx files are Zip archives
  const zip = new Zip();
  try {
    await zip.openZipAsync('qa_data/excel/fakeCompanies.xlsx');
  } catch {
    console.log(zip.lastErrorText);
    return;
  }

  const csv = new Csv();
  const sheetNames = new StringTable();
  try {
    csv.xlsxGetSheets(zip, sheetNames);
  } catch {
    console.log(csv.lastErrorText);
    return;
  }

  if (sheetNames.count === 0) {
    console.log('There are no sheets in the .xlsx');
    return;
  }

  // Get the name of the 1st sheet.
  const 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 {
    console.log(zip.lastErrorText);
    return;
  }

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

  const csvStr = csv.saveToString();
  console.log(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 {
    console.log(csv.lastErrorText);
    return;
  }
}