Newsgroup: it.comp.lang.delphi
Titolo: File CVS

 
 Buonasera a tutti. Espongo subito il mio problema.
 Ho utilizzato un file di tipo CVS per poterlo aprire come un file di tipo
excel. Solo che ho il problema che dei numeri molto grandi (che sono numeri
di ricetta medica) mi vengono messi in notazione scientifica invece di
esporli icome numero.
L'unico modo che ho trovato per farli leggere come numeri normali è mettrere
davanti ai numeri un apice ; purtroppo rimane visibile anche l'apice che se
dal punto di vista del contenuto non cambia niente dal punto di vista
estetico qualcosa fa..
Qualcuno si è mai inbattuto nel mio problema o sa come risolverlo?
Grazie mille Andrea
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Qualcuno si č mai inbattuto nel mio problema o sa come risolverlo?
E' un problema di formattazione di Excel ,devi formattare la colonna come
"numero" senza decimali.
Lo puoi fare a mano o via ole, se ti serve ho degli esempi di formattazione
"da codice"
Giulio


Sě me n'ero accorto perň la formattazione la devo fare per forza via codice
 Avere qualche esempio non sarebbe male, ti ringrazio! mandameli via mail
oppure qui, non č un problema. Grazie ancora per l'interessamento
Ciao


 oppure qui, non č un problema. Grazie ancora per l'interessamento
qui sarebbe meglio. cosi gli do un'occhiata anche io....
grazie
miyomo

Nelle Uses
     ComObj
procedure Tform1.BexcelClick(Sender: TObject);
var
   Doco:string;
   Excel:variant;
   Book, Sheet: Variant;
begin
   try
     screen.Cursor:=crHourglass;
     Excel:=UnAssigned;
     Excel:=CreateOleObject('Excel.Application');
     Excel.Visible:=false;   // rende piů veloce la creazione del foglio
     Excel.DisplayAlerts:=false;
     Excel.SheetsInNewWorkbook:=1;
     Excel.WorkBooks.add;
     sheet:=Excel.ActiveSheet;
     // scrive foglio
     Sheet.Cells.item[1,3].value:='ElencoArticoli';
     Sheet.Cells.item[1,3].select; //seleziona cella per succesiva
formattazione
     excel.selection.font.size:=18;
     excel.selection.font.fontstyle:='Grassetto';  // applic formattazione a
selezione
     Sheet.Cells.item[2,1].value:='Cliente';
     Sheet.Cells.item[2,2].value:=dm.CliFSRAGIONESOCIALE1.value;  //dati
presi da database;
     excel.selection.font.size:=10;
     excel.selection.font.fontstyle:='Grassetto';
     Sheet.Cells.item[5,1].value:='Deposito ';
     Sheet.Cells.item[5,2].value:=Mt1DesDeposito.Value; // da database
     sheet.range['a5:b5'].select; // seleziona regione
     excel.selection.font.size:=12;
     excel.selection.font.fontstyle:='Grassetto';
     Sheet.Cells.item[6,1].value:='Codice Articolo';
     Sheet.Cells.item[6,2].value:='Descrizione Articolo';
     Sheet.Cells.item[6,3].value:='Alternativa';
     Sheet.Cells.item[6,4].value:='UM';
     Sheet.Cells.item[6,5].value:='Inizio Gest.';
     Sheet.Cells.item[6,6].value:='Inizio Periodo';
     Sheet.Cells.item[6,7].value:='Carichi';
     Sheet.Cells.item[6,8].value:='Reso Carichi';
     Sheet.Cells.item[6,9].value:='A Trasfer.';
     Sheet.Cells.item[6,10].value:='Parz. Carichi';
     Sheet.Cells.item[6,11].value:='Scarichi';
     Sheet.Cells.item[6,12].value:='Reso Scarichi';
     Sheet.Cells.item[6,13].value:='A Trasfer.';
     Sheet.Cells.item[6,14].value:='Giac. Finale';
     sheet.range['a6:n6'].select;
     excel.selection.font.size:=10;
     excel.selection.font.fontstyle:='Grassetto';
     sheet.range['f6:n6'].select;
     excel.selection.HorizontalAlignment:=-4152;  // allineamento a destra
     xr:=7;
     while mt1.Eof = false do  // ciclo che riempie da database
        begin
        Sheet.Cells.item[xr,1].value:=mt1CodiceArticolo.Value;
        Sheet.Cells.item[xr,2].value:=mt1DesArticolo.Value;
        Sheet.Cells.item[xr,3].value:=mt1Alternativa.Value;
        Sheet.Cells.item[xr,4].value:=mt1um.Value;
        Sheet.Cells.item[xr,5].value:=' '+mt1InizioGes.Value;
        Sheet.Cells.item[xr,6].value:=mt1Qinizio.Value;
        Sheet.Cells.item[xr,7].value:=mt1QCarichi.Value;
        Sheet.Cells.item[xr,8].value:=mt1QResoCarichi.Value;
        Sheet.Cells.item[xr,9].value:=mt1QCarichiFs.Value;
        Sheet.Cells.item[xr,10].value:=mt1QParzCarichi.Value;
        Sheet.Cells.item[xr,11].value:=mt1QScarichi.Value;
        Sheet.Cells.item[xr,12].value:=mt1QresoScarichi.Value;
        Sheet.Cells.item[xr,13].value:=mt1QScarichiFs.Value;
        Sheet.Cells.item[xr,14].value:=mt1QGiacenza.Value;
        inc(xr);
        if int(xr/40) = xr/40 then
           application.ProcessMessages;
        mt1.Next;
        end;
     sheet.range['a6:n'+inttostr(xr)].select;
     excel.selection.columns.autofit;  // allarga le colonne alla dimensione
massima  <<---------------
     sheet.range['a7:e'+inttostr(xr)].select;
     excel.selection.numberformat:='@';  // formato testo
<<-----------------------
     sheet.range['f6:n'+inttostr(xr)].select;
     excel.selection.numberformat:='#.##0';  // formato numerico
<<----------------------
     sheet.cells.item[1,1].select;
     // finale
     doco:=dm.CliFSPATH_EXPORT.Value;
     if copy(doco,length(doco)-1,1) <> '\' then
        doco:=doco+'\';
     doco:=doco+'RiepilogativaDeposito_'+m_utente;
     doco:=doco+formatdatetime('_dd_mm_yy_hh_nn_ss',now);   // si č creato
path e nome file
     if dm.ParamFLAGSALVAEXCEL.Value = 'S' then
        Excel.ActiveWorkbook.SaveAs(FileName:=doco);
     Excel.Visible:=true; // rende visibile foglio
     erra('Fine Export excel'); // necessario altrimenti si chiude tutto
     // chiude excel
     try
      try
        book:=Excel.ActiveWorkBook;
        if VarIsEmpty(book)=false then book.Close;
        Excel.Quit;
      finally
        Excel:=Unassigned;
      end;
     except
      application.ProcessMessages;
     end;
   finally
     excel.quit;
     Excel:=Unassigned;
     application.ProcessMessages;
   end;
   screen.Cursor:=crDefault;
   end;
Spero vi serva ...
Giulio

Grazie ancora! Ora provo qualcosa di simile..
Ciao!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it