我们目前在其中一个应用程序中使用 SpreadsheetGear 来生成 Excel 工作簿。我试图在 ASP.NET Web 应用程序中重用其中的一些功能,但到目前为止我还很困惑。
我首先在 Web 应用程序中引用现有的库并进行适当的调用,但最终收到了 IndexOutOfRangeException
。
我认为这可能是我们的代码中的问题,因此我将问题简化为仅调用以下内容的 WebForms 页面(顺便说一下,这是 SpreadsheetGear Web 表单示例中的第一行代码):
SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
但我仍然遇到完全相同的问题。我不知道哪个数组超出范围,因为它来自 SpreadsheetGear 的混淆部分。
堆栈跟踪:
[IndexOutOfRangeException: Index was outside the bounds of the array.]
ᦿ..ctor(CultureInfo A_0) +2235
ᦿ..cctor() +27994
以前有其他人遇到过这个问题吗?
最佳答案
我进一步研究了这个问题,结果发现问题是我们在 Application_BeginRequest
中设置的。
我们有一些代码正在做一些工作来确定要使用的区域设置(基于大量内容,例如我们可以支持的内容以及用户浏览器支持的语言)。作为其中的一部分,我们将 NumberFormat.NumberGroupSeparator 设置为空字符串。结果 SpreadsheetGear 不喜欢这样并导致了上面的异常。
关于c# - SpreadsheetGear 在构造函数内抛出 IndexOutOfRangeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22862355/