2 messaggi dal 04 giugno 2004
Buongiorno a tutti,

è da poco che stò sviluppando con C# (Visual WEB Developer c#).
Devo sviluppare una applicazione che legga un file excel.
Ho ovviamente incluso nel progetto il riferimento alla libreria Microsoft Excel 11.0 Object Library.

Il codice per leggere è

Excel.Workbook theWorkbook = null;
Excel.Application ExcelObj = null;
Excel.Worksheet excelSheet = null;
ExcelObj = new Excel.Application();
ExcelObj.DisplayAlerts = false;
theWorkbook = ExcelObj.Workbooks.Open((Server.MapPath("Projects/" + FileName)), noType, noType, noType, noType, noType, noType, noType, noType, noType, noType, noType, noType, noType, noType);

for (int i = 1; i < ExcelObj.Sheets.Count; i++)
{
excelSheet = (Excel.Worksheet)(ExcelObj.WorksheetsIdea);
string cellValue = ((Excel.Range)excelSheet.Cells[1, 1]).ToString();
}

theWorkbook.Close(null, null, null);
ExcelObj.Workbooks.Close();
ExcelObj.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(theWorkbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelObj);
theWorkbook = null;
ExcelObj = null;
GC.Collect();

tutto funziona perfettamente su Windows XP Professional.

Sul server di esercizio (Windows 2003 server) le cose sono un pò più complicate,
prima di tutto ho seguito le istruzioni trovate in
http://blog.crowe.co.nz/archive/2006/03/02/589.aspx
e ciò mi ha risolto il problema a cui fa riferimento l'articolo.

Ora però appena arriva alla linea
string cellValue = ((Excel.Range)excelSheet.Cells[1, 1]).ToString();
determina un errore
threw an exception of type 'System.Security.SecurityException'.
Riesce a leggere correttamente il numero di fogli contenuti, ma non il contenuto della cella.

Grazie
Ciao
2.410 messaggi dal 13 febbraio 2003
Contributi
personalmente per usare un file excel non scomoderei la libreria Microsoft Excel 11 Object Library ma piuttosto accederei ai dati tramite ado.net come se fosse un normale db

Per maggiori info
http://support.microsoft.com/kb/316934
2 messaggi dal 04 giugno 2004
Grazie Christian,

come ti ho detto sono un dilettante alle prime righe di codice.

Il mio problema è che devo leggere celle specifiche e non i dati contenuti in modo tabellare nell'excel.

E' possibile utilizzare ADO per selezionare specifiche celle?

Grazie
2.410 messaggi dal 13 febbraio 2003
Contributi
E' possibile utilizzare ADO per selezionare specifiche celle?


diciamo che il foglio verrà usato come un database composto da righe e colonne quindi puoi benissimo selezionare una colonna ed ev. una singola riga

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.