我有一个c#应用程序,我已经转移到64位机器。此应用程序读入Excel文件以获取某些数据输入。我想把这个项目建成64bit。有没有办法让我的程序在这个文件中读取?我发现很难相信没有办法使用和Excel文件作为64位应用程序的输入。我已经安装了Office 2010 64位以及2010 Office System Driver Beta:数据连接组件而没有运气。我确信我只是遗漏了一些非常简单的东西。
谢谢! 比尔
答案 0 :(得分:2)
Windows x64不支持Jet OLEDB驱动程序。相反,您可以使用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。