![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) XLSX Convert Sheet to CSVOpen an Excel spreadsheet (.xlsx) and loads a sheet into a CSV object. Note: This example requires Chilkat v11.3.0 or greater.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, StringTable, Zip, Csv; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; zip: HCkZip; csv: HCkCsv; sheetNames: HCkStringTable; sheetName: PWideChar; csvStr: PWideChar; begin success := False; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // .xlsx files are Zip archives zip := CkZip_Create(); success := CkZip_OpenZip(zip,'qa_data/excel/fakeCompanies.xlsx'); if (success = False) then begin Memo1.Lines.Add(CkZip__lastErrorText(zip)); Exit; end; csv := CkCsv_Create(); sheetNames := CkStringTable_Create(); success := CkCsv_XlsxGetSheets(csv,zip,sheetNames); if (success = False) then begin Memo1.Lines.Add(CkCsv__lastErrorText(csv)); Exit; end; if (CkStringTable_getCount(sheetNames) = 0) then begin Memo1.Lines.Add('There are no sheets in the .xlsx'); Exit; end; // Get the name of the 1st sheet. sheetName := CkStringTable__stringAt(sheetNames,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. success := CkCsv_XlsxLoadSheet(csv,zip,sheetName); if (success = False) then begin Memo1.Lines.Add(CkZip__lastErrorText(zip)); Exit; end; // The Chilkat CSV API can now be used to read, modify, or insert cells. // ... // ... csvStr := CkCsv__saveToString(csv); Memo1.Lines.Add(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. success := CkCsv_SaveFile2(csv,'c:/temp/qa_output/fakeCompanies.csv','utf-8'); if (success = False) then begin Memo1.Lines.Add(CkCsv__lastErrorText(csv)); Exit; end; CkZip_Dispose(zip); CkCsv_Dispose(csv); CkStringTable_Dispose(sheetNames); end; |
||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.