如何解决在C#中没有找到方法?(How to resolve the Method not foun

2019-09-29 04:33发布

我想读一个XLSX文件,我从一个基本概述这CodeProject上的链接
现在,我收到以下异常消息:

与此相关的异常的代码段下面给出:

public static sst SharedStrings;

    /// <summary>
    /// All worksheets in the Excel workbook deserialized
    /// </summary>
    /// <param name="ExcelFileName">Full path and filename of the Excel xlsx-file</param>
    /// <returns></returns>
    public static IEnumerable<worksheet> Worksheets(string ExcelFileName)
    {
        worksheet ws;
        using (ZipArchive zipArchive = ZipFile.Open(ExcelFileName, ZipArchiveMode.Read))
        {
            SharedStrings = DeserializedZipEntry<sst>(GetZipArchiveEntry(zipArchive, @"xl/sharedStrings.xml"));
            foreach (var worksheetEntry in (WorkSheetFileNames(zipArchive)).OrderBy(x => x.FullName))
            {
                ws = DeserializedZipEntry<worksheet>(worksheetEntry);
                ws.NumberOfColumns = worksheet.MaxColumnIndex + 1;
                ws.ExpandRows();
                yield return ws;
            }
        }
    }


经过一番搜索,我想通了,我需要面向.NET 4.5或以上版本,(我靶向4.6.1,但我也试过4.5,还是同样的结果)。 此外,至于依赖性而言,我引用如下所示:

做这一切后,我仍然得到异常上面提到的,而且不知道为什么会这样。
编辑1:我已经通过这个StackOverflow的链接 ,在这里我想我需要的最新的DLL。 我去了NuGet包管理器,有哪些是可用的更新,“没有找到包”。

Answer 1:

我曾尝试.NET 4.6.14.6.2. 无论是对我工作确定。

Visual StudioCommunity Edition 2017

该项目引用:

需要注意的是System.IO.Compression.ZipFile 未被引用。 这是不可能引用它在我的环境。

使用Workbook.Worksheets()或者声明调用类的子类的Excel.Workbook

Excel是的命名空间CodeProject上的文章提供必要的类源。

using Excel;
using System;

namespace akExcelAsZipDemo
{
    class Program : Workbook
    {
        //  from
        //  https://www.codeproject.com/tips/801032/csharp-how-to-read-xlsx-excel-file-with-lines-ofthe
        //
        //  inspired:
        //  https://github.com/ahmadalli/ExcelReader

        static void Main(string[] args)
        {
            const string fileName = @"E:\AK\export.xlsx";

            var worksheets = Worksheets(fileName);

            foreach (worksheet ws in worksheets)
            {
                Console.WriteLine($"cols={ws.NumberOfColumns} rows={ws.Rows.Length}");
            }

            Console.WriteLine();
        }
    }
}


文章来源: How to resolve the Method not found in C#?