Scopo
Questa proprietà permette di indicare quale motore applicativo deve essere utilizzato per la gestione del file XLS. Vedi anche la lista valori XLSEngines per sapere quali sono i possibili valori.
Questa proprietà viene utilizzata solo nella tecnologia Java, in quanto se l'applicazione viene compilata in C# è possibile utilizzare i componenti nativi Microsoft per l'accesso ai file Excel.
Sintassi
// Impone l'uso della libreria JXL
fm.XLSEngine := JXL
fm.XLSEngine := JXL
Quando letta
Restituisce un numero intero che indica quale libreria viene utilizzata per la gestione dei file XLS.
Quando impostata
Imposta la libreria da utilizzare per la gestione dei file XLS.
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
{
EsempiGL.MessageBox(MSG Errore Nella)
return
}
//
// Se devo creo anche su file CSV il recordset dei dettagli ordine
if toCSV
...
//
// 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
{
EsempiGL.OpenDocument(FileManglerOutput.xls, ??, ??)
}
//
// Imposto il file come temporaneo, al termine della sessione corrente sarà
// automaticamente cancellato dal sistema.
EsempiGL.AddTempFile(Path() +c C\ +c FileManglerOutput.xls)
}
// 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
{
EsempiGL.MessageBox(MSG Errore Nella)
return
}
//
// Se devo creo anche su file CSV il recordset dei dettagli ordine
if toCSV
...
//
// 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
{
EsempiGL.OpenDocument(FileManglerOutput.xls, ??, ??)
}
//
// Imposto il file come temporaneo, al termine della sessione corrente sarà
// automaticamente cancellato dal sistema.
EsempiGL.AddTempFile(Path() +c C\ +c FileManglerOutput.xls)
}
- La proprietà XLSEngine riguarda solamente le applicazioni Java, per le quali è possibile scegliere tra 2 motori di scrittura dei files Excel. In applicazioni C# non è necessario utilizzare questo parametro.
- Il motore applicativo predefinito è il POI (progetto Jakarta POI - Poor Obfuscation Implementation).
- La libreria POI dichiara di supportare la maggior parte delle caratteristiche contenute nei file Excel e per questo è la scelta di default. Se tuttavia durante il processo di traduzione si verificassero dei problemi o degli errori si consiglia di provare ad utilizzare la libreria JXL. Secondo la nostra esperienza, infatti, JXL non supporta le tabelle pivot ma risulta più affidabile e prevedibile della libreria POI.
- Maggiori informazioni sulla libreria POI sono reperibili a questo indirizzo: http://jakarta.apache.org/poi/
- Maggiori informazioni sulla libreria JXL sono reperibili a questo indirizzo http://jxl.sourceforge.net/javadoc/index.html
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680
proprietà