Scrittura in file excel

mercoledì 21 maggio 2008 - 22.11

tarabasch84 Profilo | Junior Member

Salve,
sperando di aver postato nella sezione giusta, vi espongo il mio problema. In pratica ho un file excel vuoto nel quale dovrò inserire i dati provenienti da un datatable riga dopo riga. Premetto che ho smanettato abbastanza senza giungere a nessuna conclusione. Posto un po' del mio codice:
OleDbConnection oleconn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=YES';Data Source=" + database);

oleconn.Open();
OleDbTransaction tran = oleconn.BeginTransaction();

try
{
foreach (DataRow dr in dt.Rows)
{
OleDbCommand cmd = new OleDbCommand("INSERT INTO [Foglio1$] ([Cod EAN]) VALUES " +
"('" + dr["codice_barre"].ToString() + "')", oleconn);

cmd.Transaction = tran;
cmd.ExecuteNonQuery();
cmd.Dispose();
}
tran.Commit();
.................
L'ExecuteNonQuery non mi genera nessuna eccezione, però il valore all'interno del foglio excel non lo scrive e non capisco quale possa essere il problema. Chiedo un vostro parere.
Saluti Aldo

Credo che parte della colpa sia di billy...

Brainkiller Profilo | Guru

> .................
>L'ExecuteNonQuery non mi genera nessuna eccezione, però il valore
>all'interno del foglio excel non lo scrive e non capisco quale
>possa essere il problema. Chiedo un vostro parere.
>Saluti Aldo

Dove hai messo i puntini c'è anche la chiusura della connessione ?

Sai che non so se ha una qualche utilità usare le transazioni in questo contesto ?
Prova anche a tirare via BeginTransaction, Commit e Rollback.

>Credo che parte della colpa sia di billy...

Dubito Dico questo solo perchè recentemente ho visto un codice simile al tuo e funzionava.
Ciao


David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

tarabasch84 Profilo | Junior Member

La transazione mi serve per essere sicuro che le righe o vengano scritte tutte oppure no. Il problema l'ho risolto, in pratica il foglio excel che mi ha passato il mio cliente era formattato male. Lo script inziava ad inserire le righe dalla 137a in giù. Evidentemente le prime venivano ritenute piene quando in realtà effettivamente non lo erano.
Saluti Aldo.
Credo che parte della colpa sia di billy...
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5