IWorkbook.GetDataSet 在 SpreadsheetGear 更新后不起作用

IWorkbook.GetDataSet does not work after SpreadsheetGear update

我刚刚通过 NuGet 将电子表格工具从我们的过时版本 (6.0.3.222) 更新到最新版本 (8.3.20.102),将所有旧的 SpreadsheetGear.dll 文件替换为同名的新文件。

更新后我收到错误消息,声称 spreadsheetgear 提供的接口不包含它们之前包含的定义。具体来说:

Error   CS1061  'IWorkbook' does not contain a definition for 'GetDataSet' and no accessible extension method 'GetDataSet' accepting a first argument of type 'IWorkbook' could be found (are you missing a using directive or an assembly reference?)

似乎没有其他名称的替代品。

作为实验,我尝试从 spreadsheetgear.com 获取 DLL,这给了我一组 DLL。我需要的那些名称不同(SpreadsheetGear2017.dll 和 SpreadsheetGear2017.Drawing.dll)并且只需要很少的调整就可以适应,但它们来自全功能版本,这意味着它们是 30 天试用版的一部分。我们只需要有限的免费许可证:

this no cost license is limited to 1,000 rows x 100 columns x 10 worksheets x 3 workbooks

(https://www.nuget.org/packages/SpreadsheetGear/)

我还尝试了 SpreadsheetGear.dll 的各种旧版本,我可以通过 NuGet 获取这些版本,但它们都有相同的问题。手动将其降级回 6.0.3.222 "fixes" 这个问题,但由于其他问题,首先需要升级。

product on NuGet, SpreadsheetGear for .NET Standard, is an entirely different product from the one available as installers on the SpreadsheetGear website,即 SpreadsheetGear for .NET Framework,以及您之前使用的 (6.0.3.222)。 .NET Standard 产品有一些限制,目前包括 DataTable / DataSet 相关的 API,我将在下面介绍。

SpreadsheetGear for .NET Standard NuGet 产品默认以“免费模式”提供,但有您指出的限制。如果您想解锁完全许可模式,您需要 purchase 订阅它。 SpreadsheetGear for .NET Framework 没有这种免费模式,但有 30 天的试用期。

SpreadsheetGear for .NET Standard.NET Standard and so provides cross-platform support such as .NET Core, Mono on Linux, Xamarin, etc. You can also use this product on the full .NET Framework if you are using .NET Framework 4.6 or higher. The current version of this product depends on .NET Standard 1.3, which itself did not have support for DataTables and DataSets. Therefore, SpreadsheetGear for .NET Standard could not support APIs such as IWorkbook.GetDataSet(...), IRange.CopyFromDataTable(...), etc. The next major release (V9) will target a later version of the .NET Standard which added support for DataTables / DataSets, and so these APIs will be added in. Do note there are other differences between the .NET Standard and .NET Framework products (mainly relating to graphics capabilities). Please see the Comparison 页面为目标,详细说明这些差异。

SpreadsheetGear for .NET Framework - 针对完整的 .NET Framework,可能是您当前 6.0.3.222 版本最合适的升级路径。但是,除非您已经有有效的订阅,否则您必须为该产品的完全许可版本付费才能获得最新版本。

如果您还没有了解,我在 SpreadsheetGear 工作。如果您有兴趣了解最新版本,请随时 Contact Us 我们可以在 Whosebug 上继续这个对话。