Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C#] leggere un file excel

    Ciao a tutti, sono alle "prime armi" con c#...avrei bisogno di una mano...ho da fare un controllo su alcuni dati...il problema è che ho estratto questi dati da un database access 97 esportati in excel e adesso sto cercando di fare un programmino che calcoli la media geometrica di questi valori (media geometrica = (va1*...*valN)^1/N)....questi valori che devo prendere stanno nella colonna 4 e partono da riga 2 (la riga 1 sono i nomi dei campi)..ho buttato giu questo codice:
    codice:
     public static double mediaGeometrica(String filename)
            {
                // apro il file excel
                Application app = new Application();
                //app.Visible = true;
                try
                {
                    Workbook excel = app.Workbooks.Open(filename);
                    Worksheet sheet = excel.Worksheets.get_Item(1);
    
                    // calcolo esponente x cui elevare il coeff finale come 1 / numero di righe del file xls meno 1 (la riga con i nomi dei campi)
                    double exp = 1 / (sheet.UsedRange.Rows.Count - 1);
    
                    // inizializzo il coeff della media geometrica coeff = 1
                    double coeff = 1;
    
                    // per ognuno dei valori dell'array degli esami
                    for (int i = 2; i <= sheet.UsedRange.Rows.Count; i++)
                    {
                        coeff = coeff * (double)(sheet.UsedRange.Cells[i, 4] as Range).Value;     // moltiplico il coeff per il valore dell'esame --> produttoria dei valori degli esami
                        Console.WriteLine(coeff);
                    }
    
                    return System.Math.Pow(coeff, exp);   // ritorno il valore della media geometrica (TT [i=1:n] value[i])^(1/n)
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
    
                    return 0;
                }
            }
    praticamente con un ciclo for che parte da 2 (la prima riga) fino all'ultima compresa moltiplico il coefficiente per il valore di questa riga...dai risultati che da (mi stampa Infinito e la media finale è 1) secondo me non prende correttamente il valore della cella....qualcuno sa come aiutarmi???

  2. #2
    Scusate mi sono reso conto rileggendo di essere stato molto confusionario....avrei solo bisogno di sapere come fare a prendere tutti i valori delle celle nella colonna 4. Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.