[英]Unable to create pivot table
我正在嘗試使用C#創建一個Excel Pivot表。 我正在使用Microsoft.Office.Interop.Excel
。 盡管其他一切正常,但涉及到該行
Excel.PivotCache pivotCache = (Excel.PivotCache)wkb.PivotCaches()
沒有添加選項來添加數據源,但是大多數在線資源告訴我,有一個添加選項。 如何添加數據源?
編輯:請注意,此處使用的Excel實際上是使用Excel = Microsoft.Office.Interop.Excel;。 問題仍然沒有答案。
您需要使用“添加”來獲取單個pivotcache對象。 這是一個示例:
void Main()
{
Excel.Application xl = new Excel.Application();
var wb = xl.Workbooks.Add();
var pc = wb.PivotCaches().Add(XlPivotTableSourceType.xlExternal);
pc.Connection = @"OLEDB;Provider=SQLNCLI11.0;server=.\SQLExpress2012;Database=Northwind;Trusted_connection=yes";
pc.CommandType = XlCmdType.xlCmdSql;
pc.CommandText = @"Select c.CustomerID, c.CompanyName,
o.orderId, o.orderDate,
e.FirstName+(' '+e.LastName) As Employee,
p.ProductName,
od.UnitPrice, od.Quantity
FROM Customers c
INNER Join Orders o
ON o.CustomerID = c.CustomerID
INNER Join Employees e
ON e.EmployeeID = o.EmployeeID
INNER Join [Order Details] od
ON od.OrderID = o.OrderID
INNER Join products p
ON p.ProductID = od.ProductID
order By p.ProductName";
var ws = (Excel.Worksheet)wb.ActiveSheet;
pc.CreatePivotTable(ws.Range["A1"], "myPivot");
var pt = (Excel.PivotTable)ws.PivotTables("myPivot");
pt.AddFields(new string[] {"ProductName"}, new string[] {"Employee"});
var pvf = (Excel.PivotField)pt.PivotFields("Quantity");
pvf.Orientation = XlPivotFieldOrientation.xlDataField;
xl.Visible=true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.