Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
Dimensione caratteri excel
mercoledì 08 agosto 2007 - 09.14
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
metalsoul
Profilo
| Newbie
9
messaggi | Data Invio:
mer 8 ago 2007 - 09:14
Ciao a tutti..quelli che ancora non sono andati in ferie
Sto realizzando un'applicazione che legge da database e scrive su file excel ...
non sto utilizzando la libreria Excel ( e forse per questo sto impazzendo
)
bensì sto sfruttando le proprietà di OleDb.
In pratica riesco perfettamente a scrivere su Excel ma vorrei poter impostare le proprietà di ogni singola cella , come ad esempio la dimensione del carattere ,dato che anche se creo un file nuovo excel con le impostazioni che voglio e ci scrivo su...il risultato sono sempre le impostazioni che excel ha di default. Come posso fare?
Posto il codice che sto utilizzando :
Dim xlt As String = "c:\Modello.xls"
Dim m_sConn1 As String
Dim conn As New OleDb.OleDbConnection()
Dim cmd1 As New OleDb.OleDbCommand()
Dim rd As OleDb.OleDbDataReader
m_sConn1 = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" percorsofile ";" & _
"Extended Properties=""Excel 8.0;HDR=NO""" '
conn.ConnectionString = m_sConn1
conn.Open()
cmd1.Connection = conn
cmd1.CommandText = "UPDATE [Allegato G3$A1:A1] SET F1 = '" & CStr(dt.Rows(0)("Ambito")) & "'; "
rd = cmd1.ExecuteReader()
rd.Close()
Il risultato è che nella cella A1:A1 il carattere ha dimensione 12 ... come fare per avere già come risultato la dimensione 8?
Grazie in anticipo
angelotv
Profilo
| Guru
1.010
messaggi | Data Invio:
mer 8 ago 2007 - 13:22
Io per fare una cosa simile ho aperto excel ho fatto "Registra nuova macro" e poi ho fatto manualmente quello che volevo fare in automatico; excel mi ha creato il programma...
by Angelo
metalsoul
Profilo
| Newbie
9
messaggi | Data Invio:
gio 9 ago 2007 - 10:23
Grazie del consiglio...provero'
subito .
Ho notato un altro particolare durante la scrittura dei dati sul foglio excel , e cioè il contenuto(cmq corretto) di ogni singola cella inizia con un apice...
credi sia dovuto ad una formattazione non corretta delle colonne o al fatto che sto importando dati dall'esterno?
Grazie
angelotv
Profilo
| Guru
1.010
messaggi | Data Invio:
gio 9 ago 2007 - 13:34
Credo sia dovuto al fatto che sto importando dati dall'esterno.
Però a me non capitava (a parte che io usavo assegnamenti tramite Cells(riga, col) quindi è tutto diverso ma prova a vedere se puoi cambiare qualcosa perchè altrimenti la vedo dura far somme aritmetiche
tra stringhe di caratteri numerici
... ("4"+"4" non fa "8"!!!)
by Angelo
metalsoul
Profilo
| Newbie
9
messaggi | Data Invio:
ven 10 ago 2007 - 09:50
Ho provato in tutti i modi (registrando una nuova macro,formattare ogni singola colonna...) ma comunque la visualizzazione del dato in Excel è sempre preceduta dal'apice
...grrrrrrr
. Ho provato allora a rileggere da codice il file excel appena riempito alla ricerca degli apici per ripulirlo..risultato? Non esiste nessun apice
...in pratica solo in visualizzazione riscontro tale errore ( che chiaramente mi blocca la possibilità di far funzioni su excel)..ma non so proprio cosa fare in alternativa.
Grazie lo stesso per i tuoi suggerimenti .
A presto e buone ferie
angelotv
Profilo
| Guru
1.010
messaggi | Data Invio:
ven 10 ago 2007 - 13:42
Magari se mi lasciano pubblico un sorgente visual basic con una funzione di esportazione dati in excel.
La funzione inizia così...
Option Explicit
Dim OkChkDt As Boolean
Dim ComDt As String, gg As String, mm As String, aa As String, cassa As String
Private Sub ErrExport(fase As String)
MsgBox " Dati non esportati: Errore " & _
Str(Err) & " " & Err.Description, , _
App.EXEName & " Errore in " & fase
End Sub
Private Sub EsportaInExcel()
On Error Resume Next
Dim riga As Integer, colonna As Integer
Dim filexls As String
Dim xlapp As New Excel.Application
Dim Prompt As String, Stile As Long, Titolo As String
If Right(App.Path, 1) = "\" Then
filexls = App.Path & "cassa.xls"
Else
filexls = App.Path & "\" & "cassa.xls"
End If
xlapp.Visible = False
' gestione errori
If Err <> 0 Then
ErrExport "Eliminazione visibilità Foglio "
xlapp.Quit
Exit Sub
End If
xlapp.Workbooks.Open FileName:=filexls
' se il file non esiste lo creo
If Err = 1004 Then
With xlapp
.Workbooks.Add
.Cells(1, 3) = "Banconote"
.Cells(1, 10) = "Monete"
.Cells(1, 1) = "Data"
.Cells(2, 1) = "Rilevazione"
.Cells(2, 2) = "Cassa"
.Cells(2, 3) = "500Euro"
.Cells(2, 4) = "200Euro"
.Cells(2, 5) = "100Euro"
.Cells(2, 6) = "50Euro"
.Cells(2, 7) = "20Euro"
.Cells(2, 8) = "10Euro"
.Cells(2, 9) = "5Euro"
.Cells(2, 10) = "2Euro"
.Cells(2, 11) = "1Euro"
.Cells(2, 12) = "50cent"
.Cells(2, 13) = "20cent"
.Cells(2, 14) = "10cent"
.Cells(2, 15) = "5cent"
.Cells(2, 16) = "2cent"
.Cells(2, 17) = "1cent"
.Cells(1, 18) = "Assegni"
.Cells(2, 18) = "Circolari"
.Cells(1, 19) = "Assegni"
.Cells(2, 19) = "Bancari"
.Cells(2, 20) = "Bancomat"
.Cells(1, 21) = "Carte di"
.Cells(2, 21) = "Credito"
.Cells(1, 22) = "Buoni"
.Cells(2, 22) = "Pasto"
.Range("C1:I1").MergeCells = True
.Range("J1:Q1").MergeCells = True
.Range("A1:V2").Font.Bold = True
.Cells.Select
.Cells.EntireColumn.HorizontalAlignment = xlCenter
.Columns("A:A").Select
.Selection.NumberFormat = "m/d/yyyy"
.Cells.EntireColumn.AutoFit
.Cells(1, 1).Select
.Workbooks(1).SaveAs filexls
End With
ElseIf Err <> 0 Then
ErrExport "Creazione File "
xlapp.Quit
Set xlapp = Nothing
Exit Sub
End If
by Angelo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !