Scrivere su una cella di un file excel esistente - C#

giovedì 14 gennaio 2010 - 18.55

beguroto Profilo | Junior Member

Ciao a tutti,

ho la necessita' di aprire un file excel esistente attraverso un' applicazione scritta in C# (VS2005) attraverso un win form caratterizzato da 1 text box ed 2 buttons. In particolare dovrei:

1. con il primo button selezionare il fiel excel da aprire

2. con il secondo button dovrei scrivere nella cella A1 del file excel gia' esistente il valore che scritto nella text box inserita nel mio winForm.

Qualcuno puo' darmi qualche suggerimento su come aprire un file excel esistente e scrivere su una determinata cella (il cui indirizzo e' noto a priori) all' interno del suo primo worksheet?

Vi ringrazio per la collaborazione.

Begs

ilario Profilo | Senior Member

ciao

se usi google e inserisci c excel vedrai che ci sono tanti esempi
il primo della lista

http://www.dynamicajax.com/fr/Creating_Excel_From_VB_DOT_NET-197_209_329.html

inizia a studiarne qualcuno è semplice

poi chiedi pure se non capisci qualche passaggio

ciao
ilario

tonyexpo Profilo | Senior Member

>Ciao a tutti,

Ciao a te :)

>ho la necessita' di aprire un file excel esistente attraverso
>un' applicazione scritta in C# (VS2005) attraverso un win form
>caratterizzato da 1 text box ed 2 buttons. In particolare dovrei:
>
>1. con il primo button selezionare il fiel excel da aprire
>
>2. con il secondo button dovrei scrivere nella cella A1 del file
>excel gia' esistente il valore che scritto nella text box inserita
>nel mio winForm.
>
>Qualcuno puo' darmi qualche suggerimento su come aprire un file
>excel esistente e scrivere su una determinata cella (il cui indirizzo
>e' noto a priori) all' interno del suo primo worksheet?
>
>Vi ringrazio per la collaborazione.
>
>Begs


Niente di più semplice ;)

le applicazioni office sono utilizzabili da .NET tramite l'interop, in pratica utilizzando le dll COM che si potevano utilizzare anche prima di .NET

per primo aggiungi un riferimento a (COM) Microsoft.Excel 12 (o sup) Object Library



'crei l'oggetto excel application usando l'interop
Dim excel as New Microsoft.Office.Interop.Excel.Application (o ApplicationClass in c#)
'crei un nuovo foglio di lavoro
Dim book = excel.Workbooks.Add()
'oppure apri un file da popolare
Dim book = MsExcel.Workbooks.Open(<filepath and name>)
'a questo punto usando il primo foglio inizi a scrivere qualcosa...
Dim sheet = excel.Worksheets(1) ' la numerazione è base 1 non base 0
Sheet.Cells(1, 1) = "ciao"
Sheet.Cells(1, 2) = "ciao"
Sheet.Cells(1, 3) = "ciao"
'per stampare
book.PrintOut()
'per chiudere il foglio di lavoro
book.Close(SaveChanges:=False) //evitando un salvataggio in questo caso, o facendolo come vuoi tu
'alla fine ricorda di chiudere excel altrimenti ti rimane in memoria
MsExcel.Quit()
MsExcel = Nothing


spero di essere stato chiaro, altrimenti chiedi pure
bye

Antonio Esposito
MCTS, MCP

http://blogs.dotnethell.it/espositos

beguroto Profilo | Junior Member

Grazie a tutti per le info postate e condivise

Testato con successo.

A presto
Begs
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5