1

64ビットマシンに移動したac#アプリケーションがあります。このアプリケーションは、いくつかのデータ入力のためにExcelファイルを読み込みます。このプロジェクトを64ビットでビルドしたいと思います。このファイルでプログラムを読み取らせる方法はありますか?64ビットアプリへの入力としてExcelファイルを使用する方法がないとは信じがたいです。Office201064ビットと2010OfficeSystem Driver Beta:DataConnectivityComponentsをインストールしましたが運が悪かったです。本当にシンプルなものが欠けていると確信しています。

ありがとう!!明細書

4

1 に答える 1

2

Jet OLEDBドライバーは、Windowsx64ではサポートされていません。代わりに、Office相互運用ライブラリを使用できます。アセンブリへの参照を追加して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をインストールする必要があることに注意してください。

于 2010-04-17T11:12:42.257 に答える