English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Librerie Componenti
  • File Mangler
  • Conversione RTF, XLS e PDF

Export To CSV

procedura copia link

Scopo

Crea un file CSV da utilizzare come template di partenza per la creazione del foglio Excel necessario ad includere i dati del recordset passato come parametro.

Sintassi

string FileOutput = "" // Percorso del file CSV risultato
// 
FileOutput := FileMangler.ExportToCSV(recordset, directory, nome file)

Argomenti

Recordset È l'oggetto Recordset che contiene i dati da esportare in CSV.
Directory È una stringa contenente la directory in cui salvare in file CSV senza la barra finale.
Nome File È una stringa rappresentante il nome del file da creare (senza estensione)

Valore di ritorno

Viene ritornata una stringa contenente il percorso completo del file CSV esportato.

Esempio di codice

// *****************************************************************
// Crea il file XLS relativo all'ordine corrente e lo mostra a video
// *****************************************************************

public void Ordini.CreaXLS(
  boolean toCSV                    // Vero per esportare anche un file CSV
  optional string MailAddress = "" // Indirizzo di posta elettronica al qu...
)
{
  FileMangler fm = new()  // Istanzio il componente FileMangler usando la ...
  boolean res = 0         // 
  string CSVFileName = "" // 
  // 
  // Aggiungo i valori provenienti dalla query di lookup uno per uno

  fm.AddParameter(NomeCliente, Ordini.NomeSocietaClienti.Text)
  fm.AddParameter(NomeImpiegato, Ordini.CognomeImpiegati.Text)
  // 
  // Aggiungo i parametri dell'ordine prendendoli dalla riga corrente del
  // recordset del pannello Ordini

  fm.AddValues(Ordini.Recordset)
  // 
  // Aggiungo i dettagli dell'ordine passando l'intero recordset e il nome del
  // named range sul file XLS

  fm.AddRecordset(DettagliOrdine, DettagliOrdini.Recordset)
  // 
  // Imposto il componente per l'utilizzo della libreria POI

  fm.XLSEngine := POI
  // 
  // Creo un nuovo file XLS partendo dal template, poi lo apro

  res := fm.TranslateFile(Path() +c C\ +c FileMangler.xls, Path() +c C\ +c
    FileManglerOutput.xls)
  // 
  // Se c'è stato un errore lo segnalo

  if res <> ZERO
    ...
  // 
  // Se devo creo anche su file CSV il recordset dei dettagli ordine

  if toCSV
  {
    CSVFileName := fm.ExportToCSV(DettagliOrdini.Recordset, Path(),
      ToString(Ordini.IdOrdine))
    // 
    // Imposto il file come temporaneo

    EsempiGL.AddTempFile(CSVFileName)
  }
  // 
  // Se è stato specificato un indirizzo di posta devo procedere all'invio del
  // file via mail

  if MailAddress <> Empty String
    ...
  else  // Se non devo mandare la mail mostro il file
    ...
  // 
  // Imposto il file come temporaneo, al termine della sessione corrente sarà
  // automaticamente cancellato dal sistema.

  EsempiGL.AddTempFile(Path() +c C\ +c FileManglerOutput.xls)
}
  • Un possibile utilizzo è quello di creare un file CSV, contenente i dati utilizzati per popolare il file template, che può essere aperto con Excel e successivamente salvato come XLS.


  • Nel file viene scritta una prima riga contenente l'intestazione delle colonne del recordset usato dal componente FileMangler, seguita dalle righe rappresentanti i record di dati.


  • Per scrivere il file viene utilizzata la specifica CSV, che prevede che le colonne vengano separate da virgola, che ogni valore sia racchiuso da doppie virgolette, e che ogni record venga scritto su una sola riga.


  • Esempio di formato CSV:
    "IDOrdine","IDProdotto","PrezzoUnitario","Quantita","Sconto","NomeProdotto",
    "10248","11","39000","12","0","Queso Cabrales",
    "10248","24","6751","1","0","Guaraná Fantástico",
    "10248","42","82500","10","0.88","Singaporean Hokkien Fried Mee",
    "10248","72","36450","5","0","Mozzarella di Giovanni",

Ultima modifica: 23/03/2021 / Validità: da 6.5.2680

Vedi Anche

  • Translate File (funzione)
  • Add Temp File (procedura)
  • Template file da utilizzare con il progetto di esempio.

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum