C# 使用隐式键入加载Excel文件

C# 使用隐式键入加载Excel文件,c#,file-io,global-variables,C#,File Io,Global Variables,上面显示的LoadExcelFile()方法不起作用 将现有excel文件加载到变量中的正确方法是什么?我试过几次,但都没用。NewExcelFile()方法工作起来就像一个符咒——它创建一个新的Excel文件,将其存储到Excel\u文件全局变量中,以便我可以在此后对其进行操作并显示它。我希望load函数也能这样做,但要使用现有的excel文件。我非常喜欢LinqToExcel。您可以在VisualStudio中使用NuGet Package Mgr添加它。文档是@(带有演示视频)以下是使用M

上面显示的
LoadExcelFile()
方法不起作用


将现有excel文件加载到变量中的正确方法是什么?我试过几次,但都没用。
NewExcelFile()
方法工作起来就像一个符咒——它创建一个新的Excel文件,将其存储到Excel\u文件全局变量中,以便我可以在此后对其进行操作并显示它。我希望load函数也能这样做,但要使用现有的excel文件。

我非常喜欢LinqToExcel。您可以在VisualStudio中使用NuGet Package Mgr添加它。文档是@(带有演示视频)

以下是使用Microsoft.Interop库打开现有Excel电子表格的示例:

class ExcelHandling
    {
        public static void NewExcelFile(){
            frmMain._frmMain.EXCEL_FILE = new Excel.Application();
            var excelApp = frmMain._frmMain.EXCEL_FILE as Excel.Application;
            excelApp.Workbooks.Add();
            excelApp.Visible = true;
        }

        public static void LoadExcelFile()
        {
            FileStream load = File.Open(@"F:\dsa.xlsx", FileMode.Open, FileAccess.Write);
            var excelApp = load as Excel.Application;
            frmMain._frmMain.EXCEL_FILE = excelApp;
            excelApp.Visible = true;
        }
    }
重载参数在文档中相当模糊,但不幸的是需要重载参数。Intellisense应该让您了解这些价值观及其意义


您的问题是,您使用的是
文件流
,然后试图让库了解该流包含的内容。这将利用互操作库来打开文件并正确处理数据。

我将深入研究-它轻量级且易于使用。将您的数据加载到
数据集中
,然后您可以轻松地对其进行升级。也许可以查看此页面:@Kapol我正计划创建一个加载文件对话框,因此获取一个已经运行的excel文件对我来说是不可能的。我只需要打开文件,这样用户就可以看到它,并将其加载到变量中,这样他就可以通过windows窗体对其进行操作。我不希望仅为这一个操作添加外部库。如果可能,我希望使用默认的c#libraries.Oh将文件流转换为excel应用程序变量。您是否尝试过excelApp.Workbooks.Open(@“F:\dsa.xlsx”)?这是方法文档,谢谢,这正是我想要的,我想我应该更彻底地查看MS.Interop库。没问题。其中有些东西的文档非常糟糕,所以你必须在一半的时间里查看intelli sense。
var xlApp = new Microsoft.Office.Interop.Excel.Application();
var xlWorkBook = xlApp.Workbooks.Open("PathAndNameOfMyFile.xls", 0, true, 5, "", "", true,    Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);