DioDocs for Excel では、IWorksheetインタフェースのVPageBreaksおよびHPageBreaksプロパティを使用して、水平方向と垂直方向のページ区切りを設定することができます。また、IWorksheetインタフェースのFixedPageBreaksプロパティを使用して、(行と列の挿入および削除操作の実行時に)水平および垂直のページ区切りを調整するか固定したままにするかを指定することもできます。
本機能は、ExcelからさまざまなレポートをPDFファイルに印刷する必要がある場合に特に役に立ちます。ページ区切りを調整するか固定するかを選択するオプションを使用して、スプレッドシートで行や列が挿入または削除されるたびに、各セクションを別々のページに表示するか新しいページから開始して表示するかを指定できます。
FixedPageBreaksプロパティがfalse(デフォルト値)に設定されている場合、
FixedPageBreaksプロパティがtrueに設定される場合、行や列を挿入または削除しても、ページ区切りの行インデックスまたは列インデックスが変更されません。また、水平方向と垂直方向のページ区切りが「固定」と見なされ、調整することが不可能です。
次のサンプルコードは、ページ区切りを設定して印刷をカスタマイズする方法を示します。
C# |
コードのコピー
|
---|---|
//ワークブックを初期化します Workbook workbook = new Workbook(); //既存のワークシートを取得します IWorksheet worksheet = workbook.Worksheets[0]; object[,] data = new object[,]{ {"Name", "City", "Birthday", "Sex", "Weight", "Height", "Age"}, {"Bob", "NewYork", new DateTime(1968, 6, 8), "male", 80, 180, 56}, {"Betty", "NewYork", new DateTime(1972, 7, 3), "female", 72, 168, 45}, {"Gary", "NewYork", new DateTime(1964, 3, 2), "male", 71, 179, 50}, {"Hunk", "Washington", new DateTime(1972, 8, 8), "male", 80, 171, 59}, {"Cherry", "Washington", new DateTime(1986, 2, 2), "female", 58, 161, 34}, {"Coco", "Virginia", new DateTime(1982, 12, 12), "female", 58, 181, 45}, {"Lance", "Chicago", new DateTime(1962, 3, 12), "female", 49, 160, 57}, { "Eva", "Washington", new DateTime(1993, 2, 5), "female", 71, 180, 81}}; //データを設定します worksheet.Range["A1:G9"].Value = data; //4行目の前に水平方向のページ区切りを追加します var hPageBreak = worksheet.HPageBreaks.Add(worksheet.Range["F4"]); //3列目の前に垂直方向のページ区切りを追加します var vPageBreak = worksheet.VPageBreaks.Add(worksheet.Range["F3"]); //ワークブックをxlsxとして保存します workbook.Save(@"PageBreaks.xlsx", SaveFileFormat.Xlsx); //ページ区切り前に行と列を削除します。これにより、ページ区切りが調整されます worksheet.Range["1:2"].Delete(); //hPageBreakは4行目の前に存在します worksheet.Range["B:C"].Delete(); //vPageBreakは4列目の前に存在します //ページ区切りを固定に設定します。行/列の挿入または削除によりページ区切りが調整されません worksheet.FixedPageBreaks = true; //編集したワークブックをxlsxとして保存します workbook.Save(@"PageBreaksAfterDeletingRows&ColumnsWithFixedPageBreaks.xlsx", SaveFileFormat.Xlsx); //ページ区切り後に行や列を削除します。この場合、ページ区切りが調整されません worksheet.Range["1:2"].Delete(); //hPageBreakはまだ4行目の前に存在します worksheet.Range["B:C"].Delete(); //vPageBreakはまだ4列目の前に存在します //行を挿入します worksheet.Range["A3:A5"].EntireRow.Insert(); // Inserting rows after deleting row and column ranges //ワークブックをxlsxに保存します workbook.Save(@"PageBreakAfterDeletingRows&Columns.xlsx", SaveFileFormat.Xlsx); |