Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在不安装数据连接组件的情况下解决OLE DB连接问题_C#_Asp.net_Oledb_Office Interop_Office 2007 - Fatal编程技术网

C# 在不安装数据连接组件的情况下解决OLE DB连接问题

C# 在不安装数据连接组件的情况下解决OLE DB连接问题,c#,asp.net,oledb,office-interop,office-2007,C#,Asp.net,Oledb,Office Interop,Office 2007,是否有一种方法可以解决读取excel文件时未安装OLEDB连接(microsoft.ace.OLEDB.12.0提供程序未在本地计算机上注册)的问题 请告知。请尝试下面的代码 using System; using System.IO; using System.Reflection; using NUnit.Framework; using ExcelTools = Ms.Office; using Excel = Microsoft.Office.Interop.Excel; namesp

是否有一种方法可以解决读取excel文件时未安装OLEDB连接(microsoft.ace.OLEDB.12.0提供程序未在本地计算机上注册)的问题

请告知。

请尝试下面的代码

using System;
using System.IO;
using System.Reflection;
using NUnit.Framework;
using ExcelTools = Ms.Office;
using Excel = Microsoft.Office.Interop.Excel;

namespace Tests
{
    [TestFixture]
    public class ExcelSingle
    {
        [Test]
        public void ProcessWorkbook()
        {
            string file = @"C:\Users\Chris\Desktop\TestSheet.xls";
            Console.WriteLine(file);

            Excel.Application excel = null;
            Excel.Workbook wkb = null;

            try
            {
                excel = new Excel.Application();

                wkb = ExcelTools.OfficeUtil.OpenBook(excel, file);

                Excel.Worksheet sheet = wkb.Sheets["Data"] as Excel.Worksheet;

                Excel.Range range = null;

                if (sheet != null)
                    range = sheet.get_Range("A1", Missing.Value);

                string A1 = String.Empty;

                if( range != null )
                    A1 = range.Text.ToString();

                Console.WriteLine("A1 value: {0}", A1);

            }
            catch(Exception ex)
            {
                //if you need to handle stuff
                Console.WriteLine(ex.Message);
            }
            finally
            {
                if (wkb != null)
                    ExcelTools.OfficeUtil.ReleaseRCM(wkb);

                if (excel != null)
                    ExcelTools.OfficeUtil.ReleaseRCM(excel);
            }
        }
    }
}

你想做什么听到:)你想从excel中获取一些数据吗?是的,我从excel文件中读取了一些数据谢谢你的回复,但是我能在不改变方法的情况下完成吗?我想仍然使用Ole Db连接。我也不想安装这个组件。我知道这可能很奇怪,但我想问是否有办法做到这一点?