は、レンジの改ページプロパティはxlPageBreakManualに設定することができ、その後、あなたはページがそうのようなコードを分割する場所を指定することができます手動改ページをピボットテーブル(Excel Interop)に追加することはできますか?プログラムで「通常の」Excelシートを生成
workbook.Worksheets[0].VPageBreaks.Add(sheet.Range["G1"]);
を...しかし、このですピボットテーブルを印刷するときに可能ですか?ピボットテーブルはデータソース(私の場合は私の場合は「生データ」のページ)から供給されているので、私は思っていませんが、もしそうなら、私はどのように知りたいのですか?
これは私が印刷のためPivotTablizedシートを作製するために、今何をすべきかです:
private void FormatPivotTable()
{
. . .
ConfigureForPrinting(_xlPivotTableSheet.UsedRange.Rows.Count);
}
private void ConfigureForPrinting(int finalRow)
{
string lastColumn = GetExcelTextColumnName(_xlPivotTableSheet.UsedRange.Columns.Count);
string printArea = String.Format("A1:{0}{1}", lastColumn, finalRow);
_xlPivotTableSheet.PageSetup.PrintArea = printArea;
_xlPivotTableSheet.PageSetup.Orientation = XlPageOrientation.xlLandscape;
_xlPivotTableSheet.PageSetup.Zoom = false;
_xlPivotTableSheet.PageSetup.FitToPagesWide = 1;
_xlPivotTableSheet.PageSetup.FitToPagesTall = 50;
_xlPivotTableSheet.PageSetup.LeftMargin = _xlApp.Application.InchesToPoints(0.5);
_xlPivotTableSheet.PageSetup.RightMargin = _xlApp.Application.InchesToPoints(0.5);
_xlPivotTableSheet.PageSetup.TopMargin = _xlApp.Application.InchesToPoints(0.5);
_xlPivotTableSheet.PageSetup.BottomMargin = _xlApp.Application.InchesToPoints(0.5);
_xlPivotTableSheet.PageSetup.HeaderMargin = _xlApp.Application.InchesToPoints(0.5);
_xlPivotTableSheet.PageSetup.FooterMargin = _xlApp.Application.InchesToPoints(0.5);
string rangeToRepeat = string.Format("$A$6:${0}$7", lastColumn);
_xlPivotTableSheet.PageSetup.PrintTitleRows = rangeToRepeat;
}
何ユーザーが望んでいることは、データの各論理ブロックはシートにまとめておくことで、ブロック(5行ように)は複数のシートにまたがっていません。 IOW、ブロックが開始したときに現在のページに5行未満の空白がある場合は、改ページで次のページにスキップします。
これはピボットテーブルで可能ですか?