none
Esportazione SQL 2008 verso Excel 2007 RRS feed

  • Domanda

  • Salve a tutti.
    Ho un problema quando esporto, tramite ssis, una tabella che contiene un campo money o decimal verso un file excel 2007 (xlsx).
    Se esporto verso un file excel 2003 NON ho nessun tipo di problema.

    Il problema è che quando esporto il campo money, che in sql ha come separatore il punto, lo stesso separatore viene mantenuto in excel che non riconosce il tipo di campo.

    in questo link (http://i62.tinypic.com/10qm4c4.jpg) si vede chiaramente il problema.

    Scrivo qui il codice della definizione della tabella, anche se molto semplice.

    CREATE TABLE [dbo].[tblOrders](
    	[OrderID] [int] NULL,
    	[OrderDate] [smalldatetime] NULL,
    	[OrderPriceM] [money] NULL,
    	[OrderPriceD] [decimal](18, 6) NULL
    ) ON [PRIMARY]
    GO
    
    
    /* insert data */
    insert into tblOrders values (1, '2014-10-25', 24.23, 24.23) ;
    insert into tblOrders values (2, '2014-10-21', 100, 100);
    insert into tblOrders values (3, '2014-10-11', -22.87, -22.87);
    
    
    select * from tblOrders
    

    Grazie per l'aiuto

    venerdì 24 ottobre 2014 14:08

Tutte le risposte

  • Forse ho trovato la soluzione anche se non è che mi piace tanto.

    Nel pacchetto dtsx devo forzare il tipo di campo (lato excel ) a Unicode String [DT_WSTR].

    In questa maniera, anche se Excel segnala che il numero è memorizzato come testo, si riesce ad operare dei calcoli.

    Se qualcuno ha una soluzione più pulita, prego....

    • Contrassegnato come risposta Maria Atanassova venerdì 7 novembre 2014 13:35
    • Contrassegno come risposta annullato Charles Bukowski venerdì 7 novembre 2014 14:50
    venerdì 24 ottobre 2014 14:30