2013-05-02 5 views
5

में पिवोट कैश बनाएं, मुझे उम्मीद है कि यह मेरी मदद कर सकता है, कम से कम, 212 प्रश्नों में से एक का जवाब मैंने here से पूछा, लेकिन मैं देख रहा हूं कि ईपीप्लस/ओपनएक्सएमएल में पिवोट कैश कैसे बनाया जाए और ' कुछ भी ऑनलाइन/उनके दस्तावेज़ीकरण में नहीं मिलता है जो दिखाता है कि यह कैसे करें।ओपनएक्सएमएल/ईपीप्लस - नेट

तो, suposing मैं है एक एक्सेल शीट, wksRawData EPPlus में बनाया है और मैं एक धुरी wksRawData.Cells(wksRawData.Dimension.Address) की धुरी कैश पर आधारित तालिका के साथ एक दूसरे चादर बनाना चाहते हैं - उम्मीद है कि तब मैं wksRawData हटा सकता है, लेकिन अभी भी रखने में पिवट तालिका। मुझे यह कैसे करना है?

अब तक, मेरी दूसरी वर्कशीट में पिवट तालिका बनाने के लिए मेरे कोड है:

Dim wksRawData As ExcelWorksheet = wbk.Worksheets("Raw Data") 
    Dim wksPvtTbl As ExcelWorksheet = wbk.Worksheets("PivotTbl") 


' Insert the Pivot Table to the sheet 
Dim DataRange As ExcelRange = wksRawData.Cells(wksRawData.Dimension.Address) 

Dim pvtTable As OfficeOpenXml.Table.PivotTable.ExcelPivotTable = wksPvtTbl.PivotTables.Add(wksPvtTbl.Cells("B4"), DataRange, "MyPivotTable") 

pvtTable.Compact = True 
pvtTable.CompactData = True 
pvtTable.Outline = True 
pvtTable.OutlineData = True 
pvtTable.ShowHeaders = True 
pvtTable.UseAutoFormatting = True 
pvtTable.ApplyWidthHeightFormats = True 
pvtTable.ShowDrill = True 
pvtTable.RowHeaderCaption = "Caption" 

' Set the top field 
Dim r1 As OfficeOpenXml.Table.PivotTable.ExcelPivotTableField = pvtTable.Fields("FirstField") 
r1.Sort = OfficeOpenXml.Table.PivotTable.eSortType.Ascending 
pvtTable.RowFields.Add(r1) 

' Set the second field 
Dim r2 As OfficeOpenXml.Table.PivotTable.ExcelPivotTableField = pvtTable.Fields("SecondField") 
r2.Sort = OfficeOpenXml.Table.PivotTable.eSortType.Ascending 
pvtTable.RowFields.Add(r2) 
r2.ShowAll = False 

' Set the DataField 
Dim df1 As OfficeOpenXml.Table.PivotTable.ExcelPivotTableField = pvtTable.Fields("DataField") 
df1.SubTotalFunctions = OfficeOpenXml.Table.PivotTable.eSubTotalFunctions.Sum 
pvtTable.DataFields.Add(df1) 

कृपया, या इस पर किसी भी और सभी मदद अन्य प्रश्न वास्तव में सराहना की है - यह सी # में हो चाहे या वीबी, ईपीप्लस या ओपनएक्सएमएल - मुझे बस यह काम करने की ज़रूरत है !!!

धन्यवाद!

उत्तर

0

मुझे विश्वास है कि आप किसी अन्य शीट से डेटा जोड़ना चाहते हैं। अपने अन्य सूत्र में मेरे पोस्ट पूर्ण कोड EPPlus Pivot Table - Collapse entire field

var pt = wsPivot1.PivotTables.Add(wsPivot1.Cells["A1"], ws.Cells["K1:N11"], "Pivottable1"); 

बुला "PivoTables.Add()" नीचे टूल टिप को देखने से पता चलता।

// Summary: 
//  Create a pivottable on the supplied range 
// 
// Parameters: 
// Range: 
//  The range address including header and total row 
// 
// Source: 
//  The Source data range address 
// 
// Name: 
//  The name of the table. Must be unique 
// 
// Returns: 
//  The pivottable object 
+0

मैं थोड़ा तुम यहाँ करने के लिए ... मेरी चुनौती है कि मैं एक दूसरी चादर में धुरी डेटा पर आधारित तालिका बनाने और उसके बाद दूसरा पत्रक हटाना चाहते अर्थ रहे हैं के बारे में उलझन में हूँ। चुनौती यह है कि यदि आप ईपीप्लस के माध्यम से दूसरी शीट हटाते हैं, तो जब आप कार्यपुस्तिका खोलते हैं तो पिवट तालिका खाली हो जाती है। मेरा तर्क तब एक पिवोट कैश में डेटा को सहेजना था (जो मुझे दूसरी शीट को हटाने की अनुमति देगा), लेकिन मैं इसे करने का कोई तरीका नहीं समझ सकता। –

+0

अन्य क्यू से अपने तर्क के बाद, मैं वर्कबुक_ओपेन के लिए कोड लिख सकता हूं, जब कार्यपुस्तिका खुलती है तो पिवोटकेच स्वचालित रूप से एक्सेल द्वारा बनाई जाती है, लेकिन यहां मैं सीखना चाहता हूं कि वास्तविक कैश कैसे बनाएं .. । कोई विचार??/आप क्या सुझाव दे रहे हैं ?? –