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

XLSX Convert Sheet to CSV

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

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  // .xlsx files are Zip archives
  final zip = CkZip();
  try {
    zip.openZip('qa_data/excel/fakeCompanies.xlsx');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final csv = CkCsv();
  final sheetNames = CkStringTable();
  try {
    csv.xlsxGetSheets(zip, sheetNames);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

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

  // Get the name of the 1st sheet.
  final 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);
  } on ChilkatException {
    print(zip.lastErrorText);
    return;
  }

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

  final csvStr = csv.saveToString();
  print(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');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }
}