Sto tentando di esportare alcuni dati in un foglio Excel S1
i cui dati verrebbero visualizzati come viste imperniate nei prossimi due fogli S2 and S3
. Sono in grado di creare un singolo pivot e funziona perfettamente. Ma quando creo due pivot, il conseguente file Excel viene danneggiato.ClosedXML - Creazione di più tabelle pivot
Con corrotto voglio dire,
Cliccando sì, ho questa -
Ecco il codice che sto usando per creare i perni -
using XL = ClosedXML.Excel;
...
XL.XLWorkbook wb = new XL.XLWorkbook();
dsData = Session["ExportData"] as DataSet;
var sheet1 = wb.Worksheets.Add("output table");
sheet1.Cell(1, 1).InsertTable(dsData.Tables[0], "output table", true);
// sheet1 is the reference sheet S1
var dataRange = sheet1.RangeUsed();
// First Pivot
XL.IXLWorksheet ptSheet1 = wb.Worksheets.Add("S2");
var pt1 = ptSheet1.PivotTables.AddNew("PivotTable1", ptSheet.Cell(3, 1), dataRange);
pt1.ReportFilters.Add("CX");
pt1.RowLabels.Add("C1");
pt1.RowLabels.Add("C2");
pt1.RowLabels.Add("C3");
pt1.RowLabels.Add("C4");
pt1.ColumnLabels.Add("CL1");
pt1.ColumnLabels.Add("CL2");
pt1.ColumnLabels.Add("CL3");
pt1.Values.Add("V").SummaryFormula = XL.XLPivotSummary.Sum;
// Second Pivot
XL.IXLWorksheet ptSheet2 = wb.Worksheets.Add("S3");
var pt2 = ptSheet2.PivotTables.AddNew("PivotTable2", ptSheet1.Cell(3, 1), dataRange);
pt2.ReportFilters.Add("QQ");
pt2.RowLabels.Add("C1");
pt2.RowLabels.Add("C2");
pt2.ColumnLabels.Add("CL1");
pt2.ColumnLabels.Add("CL2");
pt2.ColumnLabels.Add("CL3");
pt2.Values.Add("V").SummaryFormula = XL.XLPivotSummary.Sum;
C1, C2, C3. C4 and V
sono i nomi delle colonne nel mio foglio di riferimento S1
.
cosa intendi per rendering come corrotto? c'è qualche errore? per favore mostraci l'intero codice per esportare – jomsk1e
@ jomsk1e Ho aggiornato la domanda, per favore controlla. –
Sto riscontrando lo stesso identico problema. . hai mai trovato una soluzione o una soluzione? – leora