Newsgroup: it.comp.lang.visual-basic
Titolo: Mauro Gamberini & friends Help EXCEL e CSV

Il NG di Excel è morto ed io non so dove trovare aiuto
 
ho un po di codice PHP che da mysql esporta in CSV
il database mysql è codifica utf8_unicode_ci
l'export è un
		header("Content-type: application/vnd.ms-excel");
		header("Content-Disposition: attachment; filename=$this->filename");
        header ('Content-Transfer-Encoding: binary');
		header("Pragma: no-cache");
		header("Expires: 0");
 
quello che viene fuori è un csv TAB delimiter !
 
apro PSpad e leggo il file CSV....perfetto!
ad esempio il rigo 59446
"Tarquino Merula"	"1595-1665"	"Canzonetta spirituale sopra alla nanna : 
Hor ch'è tempo di dormire"	"658"		"Lia Serafini, sopranoFrancesco 
Tasini, organo"			"Tactus"	"TC 900090 , TC 
690001"			"4274"	"Berni"	"Bologna, 
06.2002"		"2002"		"C"		"3"	"1"	"2"	"59446"
importato in excel tramite importazione guidata...riconosce tutto
ma
Canzonetta spirituale sopra alla nanna : Hor ch'è tempo di dormire
diventa
Canzonetta spirituale sopra alla nanna : Hor ch'Ã¨ tempo di dormire
 
Ma vaffanculo....è tutto utf-8...pspad mi conferma che la codifica E' 
UTF-8.....ma perchè stocaz di Excel ci mette del suo?...Come risolvo?
Va bene per la parte MAC e  linux che sia utf-8....ma lo deve digerire 
anche winzozz!!! ora Excel non è compatibile UTF-8???
 
Non ti voglio dire quando c'è scritto
"Paris, du bist die schönste Stadt der Welt"
cosa diventa in excel
Paris, du bist die schÃ¶nste Stadt der Welt
 
SIGH!
 
Sorry per l'invasione ma ho bisogno di Mauro Gamberini nella qualità di 
MVP di Excel!!!
 
-- 
----- Italliaaaaa 3227! -----
Ti prego, ti prego, non ci uccidere. Ti prego baby, lo sai che ti amo. 
Non avrei mai voluto lasciarti, non è stata colpa mia. Davvero, sono 
sincero. Quel giorno finì la benzina. Si bucò un pneumatico. Non avevo 
i soldi per il taxi! Il mio smoking non era arrivato in tempo dalla 
tintoria! Era venuto a trovarmi da lontano un amico che non vedevo da 
anni! Qualcuno mi rubò la macchina! Ci fu un terremoto! Una tremenda 
inondazione! Un'invasione di cavallette!
John Belushi [da "Blues Brothers"]
 
 

Wodka40° ha scritto:

L'importazione la fai a mano o da programma ? Voglio dire,
c'entra VB in qualche modo ?
(No, non è per dirti che sei OT :-P)
 
Comunque, io ho copincollato la riga che hai dato tu,
e, a mano, me la importa correttamente.
Però quello che hai mandato NON si qualifica come un CSV.
Voglio dire, un CSV "tab delimited" già non è ben visto
di suo, se ci metti davvero delle virgole magari migliora :-P
 
Poi, importando in Excel da VB (e ovviamente anche da macro)
puoi usare un bel po' di cose che non so se ci sono nel
wizard di importazione.
Per esempio, in un mio programma uso questa riga per
importare un CSV (è una riga di programma unica spezzata
con gli underscore, non so come andrà a capo):
***********
xlsApp.Workbooks.OpenText(FileTempCSV, 
Origin:=Microsoft.Office.Interop.Excel.XlPlatform.xlMSDOS, StartRow:=1, 
_ 
DataType:=Microsoft.Office.Interop.Excel.XlTextParsingType.xlDelimited, 
_ TextQualifier:=Microsoft.Office.Interop.Excel.Constants.xlDoubleQuote,
_ ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=MioInfoField, _
TrailingMinusNumbers:=True)
***********
 
Nel caso, mi manderesti un file di prova ?
L'indirizzo dovresti averlo; se no, usa quello nel reply-to,
ma dimmelo altrimenti col cavolo che lo apro :-).
 
Bye, G.

 Wodka40° ha scritto:
ci son varie ragioni:
a) TAB delimiter perchè nel testo ci son tante virgole apostrofi e 
menate varie...il tab però no!
 
b) CSV (o testo) perchè è una esportazione di una ricerca...è una view 
che viene costruita in base ad un complesso form di ricerca.
 
c) CSV per view di più di 50 schede....sotto TCPDF ce la fa in un tempo 
ragionevole (comunque mi ha fatto alzare il timeout a 2 minuti) a 
produrre un PDF!...IL PDF sarebbe stato perfetto!Ma 700 euro per la 
libreria non ce li spendono!
e siccome il tipo mi può anche filtrare tutti gli autori ad esempio con 
la T% ....costruire con TCPDF un pdf di 3000 schede è improbo!
 
d) han bisogno di filtrare e poi portarsi a giro i dati filtrati anche 
sotto forma di file di testo...c'è una ragione....il direttore deve 
farsi il palinsesto radiofonico della settimana: spippola 2 o 3 ore 
nell'immenso archivio e tira fuori qualche file/foglio con le idee dei 
brani da mandare in onda...poi li copia incolla in scaletta...TALVOLTA 
lo fa con un windows...SPESSO con un MacAir!....ecco che il file di 
testo o il pdf funziona bene! IL CSV probabilmente se lo reimporta bene 
dentro il MAC...credo!
 
Vuoi un file di esempio???
www.martek.it/deposito/testview.csv
 
eccolo li!
 
Leggevo a giro che excel non supporta UTF-8 ma utf-16 .....sarà li il 
problema????
 
-- 
----- Italliaaaaa 3227! -----
Il coraggio ce l'ho. E' la paura che mi frega.
(Totò)
 
 

 Il 09/01/2012, Paperino ha detto :
e mentre scrivevo con una mano spippolavo con l'altra.....
e ho scoperto che in AUTOMATICO non c'è verso.!..doppio click sul CSV 
non va!...ho pure scoperto perchè!
E ho scoperto che il mio Excel2007 si sveglia in Windows ANSI (che caz 
è non lo so...io mi ricordo ai tempi dei tempi il compilatore ANSI C)
 
e devo andare di importazione guidata....ed ESPLICITAMENTE selezionare 
nel filtro
ORIGINE FILE: 65001 UNICODE (UTF-8)
ed allora obbedisce!!!
 
Probabilmente nelle infinite opzioni c'è verso selezionare un altra 
codifica...ma ho una paura immensa che smettano di funzionare tutti gli 
altri fogli del mio pc!...vabbe gli metterò un tutorial!!!
 
WINDOWS ANSI....che cagata!
 
-- 
----- Italliaaaaa 3227! -----
Ho visto cose che voi umani non potreste immaginare... navi da 
combattimento in fiamme al largo dei bastioni di Orione. E ho visto i 
raggi B balenare nel buio vicino alle porte di Tannhauser. E tutti quei 
momenti andranno perduti nel tempo come lacrime nella pioggia. È tempo 
di morire...
 
Unità NEXUS6 Roy Batty N6MAA10816 Ment.LEV A
 
 

 altri fogli del mio pc!...vabbe gli metterò un tutorial!!!
 
Preparagli una macro, no ? Registratore e via andare.
 
Bye, G.


Beccati questa :-)
Il parametro ".TextFilePlatform = 65001" è quello
che gli dice di usare UTF-8.
 
****************
Sub Importa_CSV_test()
'
' Importa_CSV_test Macro
'
 
'
     With ActiveSheet.QueryTables.Add(Connection:= _
         "TEXT;C:\Users\ilcentro\Desktop\testview.csv", 
Destination:=Range("$A$1"))
         .Name = "testview"
         .FieldNames = True
         .RowNumbers = False
         .FillAdjacentFormulas = False
         .PreserveFormatting = True
         .RefreshOnFileOpen = False
         .RefreshStyle = xlInsertDeleteCells
         .SavePassword = False
         .SaveData = True
         .AdjustColumnWidth = True
         .RefreshPeriod = 0
         .TextFilePromptOnRefresh = False
         .TextFilePlatform = 65001
         .TextFileStartRow = 2
         .TextFileParseType = xlDelimited
         .TextFileTextQualifier = xlTextQualifierDoubleQuote
         .TextFileConsecutiveDelimiter = False
         .TextFileTabDelimiter = True
         .TextFileSemicolonDelimiter = False
         .TextFileCommaDelimiter = False
         .TextFileSpaceDelimiter = False
         .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
         1, 1, 1, 1)
         .TextFileTrailingMinusNumbers = True
         .Refresh BackgroundQuery:=False
     End With
End Sub
 
****************
 
Bye, G.

Paperino scriveva e il server registrava il messaggio 458143

se po fa tutto....il problema è farlo "user free"!
...già ci sono FORTI remore a usare windows....Immaginare di dire: le 
registro una macro...oppure dovete usare questo foglio....
 
IO sono partito dall'idea ribadita in molti forum ...e sempre sostenuta 
da tutti i *nix
che UTF-8 sia davvero lo standard di fatto per non aver problemi di 
interscambio dati in forma nazionalizzata (umlaut e cazzate 
analoghe)....
 
poi probabilmente arriva ZioBill e il compianto Jobs e non sono della 
solita idea...ed infatti anche filemaker m'ha fatto sputare sangue per 
importarlo in mysql!
 
-- 
----- Italliaaaaa 3227! -----
Anche sul trono più alto del mondo, si sta seduti sul proprio culo.
( Michel de Montaigne )
 
 

 Sub Importa_CSV_test()
zac
 
 
thks
 
-- 
----- Italliaaaaa 3227! -----



 
Ciao Marco.
 
Ma non č vero!
Via Google o Eternal-September č ancora utilizzabile
e ci sono alcuni in gamba che rispondono.
 
Scusa ma sono rientrato ieri dalla montagna e vedo solo adesso.
Mi sembra tu abbia risolto con la macro di Paperino, giusto?
 
E, al limite, se vai sul mio sito trovi come contattarmi via mail
e *dovresti* avere il cellulare... ;-)
--
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
 
http://www.maurogsc.eu/