Как читать в Excel файл в Win7 64bit? - PullRequest
1 голос
/ 17 апреля 2010

У меня есть приложение на c #, которое я переместил на 64-битную машину. Это приложение читает в файле Excel для ввода некоторых данных. Я хотел бы построить этот проект как 64-битный. Есть ли способ прочитать мою программу в этом файле? Мне трудно поверить, что нет способа использовать файл Excel в качестве входных данных для 64-битного приложения. Я установил 64-разрядную версию Office 2010, а также бета-версию драйвера системы Office 2010: компоненты для подключения данных, но не повезло. Я уверен, что мне просто не хватает чего-то очень простого.

спасибо !! Билл

1 Ответ

2 голосов
/ 17 апреля 2010

Драйвер Jet OLEDB не поддерживается в Windows x64. Вместо этого вы можете использовать библиотеку Office Interop. Добавьте ссылку на сборку Microsoft.Office.Interop.Excel и попробуйте следующий код:

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);
    }
}

Обратите внимание, что вам нужно установить Excel.

...