2010-04-17 13 views
1

J'ai une application C# que j'ai déplacée vers une machine 64 bits. Cette application lit dans un fichier Excel pour certaines entrées de données. Je voudrais construire ce projet en 64 bits. Est-il possible d'avoir mon programme lu dans ce fichier? J'ai du mal à croire qu'il n'y a aucun moyen d'utiliser et de fichier Excel en entrée dans une application 64 bits. J'ai installé Office 2010 64 bit ainsi que la version bêta du pilote Office System 2010: Data Connectivity Components sans succès. Je suis sûr que je manque juste quelque chose de très simple.Comment lire dans un fichier Excel dans Win7 64bit?

merci !! Bill

Répondre

2

Le pilote Jet OLEDB n'est pas pris en charge sous Windows x64. Au lieu de cela, vous pouvez utiliser la bibliothèque Office Interop. Ajouter une référence à l'assemblée Microsoft.Office.Interop.Excel et essayez le code suivant:

using System; 
using System.Runtime.InteropServices; 
using Microsoft.Office.Interop.Excel; 

class Program 
{ 
    static void Main() 
    { 
     var file = @"C:\work\test.xlsx"; 
     var excel = new ApplicationClass(); 
     var workbook = excel.Workbooks.Open(file); 
     var worksheet = (_Worksheet)workbook.Worksheets.Item[1]; 

     // read the value of the first row, first column 
     var value = ((Range)worksheet.Cells[1, 1]).Value; 
     Console.WriteLine(value); 

     workbook.Close(false, file, null); 
     Marshal.ReleaseComObject(workbook); 
    } 
} 

Notez que vous aurez besoin d'avoir Excel installé.

+0

Merci beaucoup Darin. Je vais certainement essayer. –