使用 VB.NET 在导出的文档上创建枢轴 Table
Using VB.NET to create a Pivot Table on an Exported Document
我有一个竖线分隔的文本文件,我需要阅读它,将其转换为预先格式化的 Excel 文档 - 完成单独的数据透视表 table sheet - 然后保存。
读取文件并将其另存为 Excel 文档已解决,但我似乎无法使枢轴 table 工作。我在网上找到了各种教程,但 none 实际上对我有用。
I've reordered the arguments in the order they present, but I get the exact same late binding error.
当 VS 抱怨并声明:"Option Strict On disallows late binding" 时,它告诉您您正在尝试引用某些方法或 属性 在它只能识别为类型 [=13= 的对象上] 或执行无效的隐式转换。
现在来看问题代码
Dim ptTable As Excel.PivotTable = xlPivotSheet.PivotTables.Add(ptCache, ptLocation, "Pivot")
您之前定义的:
Dim xlPivotSheet As Excel.Worksheet
因此,xlPivotSheet
不是罪魁祸首,因为 VS 知道它是类型 Excel.Worksheet
。
下一个合乎逻辑的嫌疑人是 PivotTables
returns。当您键入该代码时,您应该已经看到类似这样的内容:
您是否注意到在您输入代码时 Intellisense 给您的小小帮助?你确实输入了代码,对吧?还是您 copy-paste 来自某个使用 Option Strict Off
发布代码的互联网地雷站点的示例?
无论如何,您现在知道应该将 xlPivotSheet.PivotTables
的结果转换为 Excel.PivotTables
接口以启用早期绑定,从而使用 Add
方法而不会出现该讨厌的错误。
Dim ptTable As Excel.PivotTable = DirectCast(xlPivotSheet.PivotTables,Excel.PivotTables).Add( ....
推荐阅读:Using IntelliSense
我最终通过将问题行更改为以下内容来完成此任务。
Dim Table As Excel.PivotTable = xlPivotSheet.PivotTableWizard(Excel.XlPivotTableSourceType.xlDatabase,
Range,Location, "Title Here",True, True, True, False)
我有一个竖线分隔的文本文件,我需要阅读它,将其转换为预先格式化的 Excel 文档 - 完成单独的数据透视表 table sheet - 然后保存。
读取文件并将其另存为 Excel 文档已解决,但我似乎无法使枢轴 table 工作。我在网上找到了各种教程,但 none 实际上对我有用。
I've reordered the arguments in the order they present, but I get the exact same late binding error.
当 VS 抱怨并声明:"Option Strict On disallows late binding" 时,它告诉您您正在尝试引用某些方法或 属性 在它只能识别为类型 [=13= 的对象上] 或执行无效的隐式转换。
现在来看问题代码
Dim ptTable As Excel.PivotTable = xlPivotSheet.PivotTables.Add(ptCache, ptLocation, "Pivot")
您之前定义的:
Dim xlPivotSheet As Excel.Worksheet
因此,xlPivotSheet
不是罪魁祸首,因为 VS 知道它是类型 Excel.Worksheet
。
下一个合乎逻辑的嫌疑人是 PivotTables
returns。当您键入该代码时,您应该已经看到类似这样的内容:
您是否注意到在您输入代码时 Intellisense 给您的小小帮助?你确实输入了代码,对吧?还是您 copy-paste 来自某个使用 Option Strict Off
发布代码的互联网地雷站点的示例?
无论如何,您现在知道应该将 xlPivotSheet.PivotTables
的结果转换为 Excel.PivotTables
接口以启用早期绑定,从而使用 Add
方法而不会出现该讨厌的错误。
Dim ptTable As Excel.PivotTable = DirectCast(xlPivotSheet.PivotTables,Excel.PivotTables).Add( ....
推荐阅读:Using IntelliSense
我最终通过将问题行更改为以下内容来完成此任务。
Dim Table As Excel.PivotTable = xlPivotSheet.PivotTableWizard(Excel.XlPivotTableSourceType.xlDatabase,
Range,Location, "Title Here",True, True, True, False)