2010-03-13 8 views

Répondre

1

Le moyen le plus simple est probablement d'utiliser le pilote ODBC Excel. Cela vous permet d'utiliser OdbcConnection pour lire la feuille de calcul dans un DataTable. Vous pouvez ensuite itérer sur la collection Rows de la table, en copiant les valeurs dans une liste ou un tableau.

+0

Je pensais à travailler avec des fichiers. et lisez les données dans les lignes du fichier. J'ai travaillé avec le fichier .txt befor mais j'oublie comment je l'ai utilisé. – LIX

+0

@LIX: Il est relativement facile de lire des fichiers en texte brut, mais les formats de fichier Excel ne sont pas en texte brut et nécessitent un lecteur spécial pour les lire. –

+0

@itowlson: Compte tenu de la question et maintenant de la remarque textuelle, pourrait-elle être une illustration du fait que: a) Oui! la communauté SO doit être culturellement consciente et travailler à lisser les obstacles de communication b) Même lorsqu'elle est interrompue par des collègues ayant le moins de maîtrise de la langue anglaise, une question bonne ou décente ne semble pas si mauvaise c) Tout le monde ne devrait pas être aidé. Qu'est-ce que tu penses ? – mjv

0

This link pourrait vous aider. Vous pouvez adapter les réponses pour convertir les valeurs en entiers.

0

Vous pouvez utiliser Excel Interop et faire quelque chose le long des lignes de:

Excel.Range firstCell = excelWorksheet.get_Range("A1", Type.Missing); 
Excel.Range lastCell = excelWorksheet.get_Range("A10", Type.Missing); 
Excel.Range worksheetCells = excelWorksheet.get_Range(firstCell, lastCell); 
var cellValues = worksheetCells.Value2; 

Vous devriez obtenir un tableau d'objets (indice base 1), et peut jeter le contenu en utilisant (par exemple) Convertir. Doubler().

0

peut le faire. Voici une source C#. Notez que l'API SpreadsheetGear est similaire à l'API Excel, donc le code ci-dessous pourrait être adapté à Excel.

using System; 
using SpreadsheetGear; 

namespace Program 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      // Load a workbook from disk and get the first worksheet. 
      var workbook = SpreadsheetGear.Factory.GetWorkbook(@"C:\tmp\Numbers.xlsx"); 
      // Allocate a list of doubles to store the number. 
      var numbers = new System.Collections.Generic.List<double>(); 
      var worksheet = workbook.Worksheets[0]; 
      // Assuming that column A is the column with the numbers... 
      var columnA = worksheet.Cells["A:A"]; 
      var usedRange = worksheet.UsedRange; 
      // Limit the cells we look at to the used range of the sheet. 
      var numberCells = usedRange.Intersect(columnA); 
      // Get the numbers into the list. 
      foreach (IRange cell in numberCells) 
      { 
       object val = cell.Value; 
       if (val is double) 
        numbers.Add((double)val); 
      } 
      // Write the numbers to the console. 
      foreach (double number in numbers) 
       Console.WriteLine("number={0}", number); 
     } 
    } 
} 

Vous pouvez télécharger l'essai gratuit SpreadsheetGear here si vous voulez essayer vous-même.

Clause de non-responsabilité: Je possède SpreadsheetGear LLC

Questions connexes