创建数据透视表c#互操作

问题描述 投票:0回答:1

我正在尝试从具有[[C#互操作的完整工作表中创建数据透视表,但是出现一些错误,不知道我的代码是否是旧的,或者此示例是否旧。

我正在关注这个

示例:Creating a Pivot Table c#

但是当我尝试时,我找不到一些方法。这是我的代码:

Microsoft.Office.Interop.Excel.Application Excel = new Microsoft.Office.Interop.Excel.Application(); Workbooks libro = Excel.Workbooks; Workbook libroActual = libro.Add(); Sheets sheets = libroActual.Worksheets; //Excel.Workbooks.Add(); // Instanciamos la hora activa Microsoft.Office.Interop.Excel._Worksheet Worksheet = Excel.ActiveSheet; Worksheet.Name = "Desglose"; Worksheet sheetMMPP = Excel.Worksheets.Add(); sheetMMPP.Name = "MMPP";// CreateEmptySheet(); Microsoft.Office.Interop.Excel.Range dataRange = Worksheet.UsedRange; Microsoft.Office.Interop.Excel.PivotCache cache = (Microsoft.Office.Interop.Excel.PivotCache)libroActual.PivotCaches().Add(Microsoft.Office.Interop.Excel.XlPivotTableSourceType.xlDatabase,dataRange); Microsoft.Office.Interop.Excel.PivotTable pt = (Microsoft.Office.Interop.Excel.PivotTable)sheetMMPP.PivotTables().Add("Pivot Table", Worksheet.Range["A1"], cache); Microsoft.Office.Interop.Excel.PivotField oPivotField = (Microsoft.Office.Interop.Excel.PivotField)pt.PivotFields("Nivel 0"); oPivotField.Orientation = Microsoft.Office.Interop.Excel.XlPivotFieldOrientation.xlDataField; oPivotField.Function = Microsoft.Office.Interop.Excel.XlConsolidationFunction.xlSum; oPivotField.Name = "Nivel 0";

但我收到此错误:

无法将参数2转换为对Add的调用

错误在此行:

Microsoft.Office.Interop.Excel.PivotTable pt = (Microsoft.Office.Interop.Excel.PivotTable)sheetMMPP.PivotTables().Add("Pivot Table", Worksheet.Range["A1", "P56"], cache);

有人知道此错误吗?
c# excel pivot-table interop
1个回答
0
投票
好像您混合了库。在您的链接中,该示例基于Spire.xls库,但是在代码中,您将Interop.Excel与Spire语法一起使用。 Interop.Excel PivotTables.Add方法具有不同的参数-Add (Microsoft.Office.Interop.Excel.PivotCache PivotCache, object TableDestination, [object TableName], [object ReadData], [object DefaultVersion])
© www.soinside.com 2019 - 2024. All rights reserved.