*이 새로운 내가 엑셀 VSTO에 대한 C# 닷넷을 통해 피벗 테이블을 만들려고 해요엑셀 VSTO + C# .NET을 + 만들기 피벗 테이블
코드 만 유지와 아래 편집은 예외 상태 것을 던져지고 :
Exception from HRESULT: 0x800A03EC
시트 내가 oSheet라고 피벗 테이블을 만들려고하고 소스 데이터
나는 피벗 테이블 소스에 대한 범위를 만들 수있는 시트와 동일한 오전 :Excel.Range pivotData = osheet.Range["A1", "B3"];
피벗 테이블 될 위치하는 범위 :
Excel.Range pivotDest = osheet.Range["A12", "B14"];
다음이있는 테이블을 만들려고 :
osheet.PivotTableWizard(
Excel.XlPivotTableSourceType.xlDatabase,
pivotData,
pivotDest,
"Table",
true,
true,
true,
true,
true,
true,
false,
false,
Excel.XlOrder.xlDownThenOver,
0,
false,
false
);
오류가 나타난 마법사 라인에서 발생된다.
C# .Net을 통해 피벗 테이블을 만드는 것이 더 좋은 방법이나 오류의 원인에 대한 아이디어가 있습니까?
난 그냥 저번에 비슷한 질문에 대답
Excel.Application oApp;
Excel.Worksheet osheet;
Excel.Workbook oBook;
oApp = new Excel.Application();
oBook = oApp.Workbooks.Add();
osheet = (Excel.Worksheet)oBook.Worksheets.get_Item(1);
osheet.Cells[1, 1] = "Name";
osheet.Cells[1, 2] = "Salary";
osheet.Cells[2, 1] = "Frank";
osheet.Cells[2, 2] = 1500000;
osheet.Cells[3, 1] = "Millford";
osheet.Cells[3, 2] = 2200;
//Now capture range of first sheet = I will need this to create pivot table
Excel.Range oRange = osheet.Range["A1", "B3"];
var pch = oBook.PivotCaches();
Excel.Range pivotData = osheet.Range["A1", "B3"];
Excel.PivotCache pc = pch.Create(XlPivotTableSourceType.xlDatabase, pivotData);
Excel.PivotTable pvt = pc.CreatePivotTable(osheet.Range["A12"], "MyPivotTable");
pvt.PivotFields("Col1").Orientation = XlPivotFieldOrientation.xlRowField;
pvt.PivotFields("Col2").Orientation = XlPivotFieldOrientation.xlColumnField;
pvt.AddDataField(pvt.PivotFields("Col3"), "Sum of Col3", XlConsolidationFunction.xlSum);
당신이'[PivotTables.Add'를 사용하려고 노력을 ] (https://msdn.microsoft.com/en-us/library/office/ff196910.aspx) 대신 마법사를 사용 하시겠습니까? – PetLahev