作成日: 2023/03/03 最終更新日: 2023/03/03
文書種別
使用方法
詳細
シートのSetRangeToRepeatメソッドを使用し、印刷タイトル※として使用する行の範囲を指定することで、一番上の行を各ページに繰り返して印刷することができます。
※シートが印刷されるときに、ページごとに繰り返し印刷される一番上の行
例えば、印刷時に最初の2行の内容を繰り返す場合は、以下のように設定します。

以下に、最初の2行に背景色を設定し、その内容を各ページに繰り返して印刷するための全体的なコードを紹介します。

◎サンプルコード(VB)
※シートが印刷されるときに、ページごとに繰り返し印刷される一番上の行
例えば、印刷時に最初の2行の内容を繰り返す場合は、以下のように設定します。
Sheet.SetRangeToRepeat(0, 1, -1, -1)
その後Excelファイルとして保存し、MS Excelで開くと、ページレイアウト タブ > ページ設定 > 印刷タイトル > シート > タイトル行に "$1:$2" という値が設定されていることを確認できます。以下に、最初の2行に背景色を設定し、その内容を各ページに繰り返して印刷するための全体的なコードを紹介します。
◎サンプルコード(VB)
Imports C1.C1Excel
Public Class FrmText
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Sheet1 As XLSheet = C1XLBook1.Sheets(0)
' タイトル行(1行目、2行目)のスタイル設定
Dim style1 As XLStyle = New XLStyle(C1XLBook1)
style1.ForeColor = Color.White
style1.BackColor = Color.DarkBlue
Dim style2 As XLStyle = New XLStyle(C1XLBook1)
style2.BackColor = Color.LightBlue
Dim style3 As XLStyle = New XLStyle(C1XLBook1)
style3.ForeColor = Color.Blue
'Dim i As Integer = 0
For i As Integer = 0 To 4
Sheet1(0, i).Style = style1 '1行目
Sheet1(1, i).Style = style2 '2行目
Next
' 1行目をマージ
Dim ColRange1 As XLCellRange = New XLCellRange(0, 0, 1, 2)
Dim ColRange2 As XLCellRange = New XLCellRange(0, 0, 3, 4)
C1XLBook1.Sheets(0).MergedCells.Add(ColRange1)
C1XLBook1.Sheets(0).MergedCells.Add(ColRange2)
' データ値の設定
Sheet1(0, 0).Value = "ID"
Sheet1(0, 1).Value = "地区A"
Sheet1(0, 3).Value = "地区B"
Sheet1(1, 1).Value = "男"
Sheet1(1, 2).Value = "女"
Sheet1(1, 3).Value = "男"
Sheet1(1, 4).Value = "女"
Dim r, c As Integer
Dim randam As Random = New System.Random()
For r = 2 To 100
Sheet1(r, 0).Value = (r - 1).ToString()
Sheet1(r, 0).Style = style3 '"ID"列の文字色設定
For c = 1 To 4
Sheet1(r, c).Value = (randam.Next(100, 200)).ToString()
Next
Next
' 印刷時に最初の2行を繰り返します。
Sheet1.SetRangeToRepeat(0, 1, -1, -1)
' Excelファイルに保存
Dim sfile As String = "..\..\Test01.xlsx"
C1XLBook1.Save(sfile, FileFormat.OpenXml)
System.Diagnostics.Process.Start(sfile)
End Sub
End Class
◎サンプルコード(C#)
using C1.C1Excel;
namespace prj_C1Excel
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
XLSheet Sheet1 = c1XLBook1.Sheets[0];
// タイトル行(1行目、2行目)のスタイル設定
XLStyle style1 = new XLStyle(c1XLBook1);
style1.ForeColor = Color.White;
style1.BackColor = Color.DarkBlue;
XLStyle style2 = new XLStyle(c1XLBook1);
style2.BackColor = Color.LightBlue;
XLStyle style3 = new XLStyle(c1XLBook1);
style3.ForeColor = Color.Blue;
for (int i = 0; i <= 4; i++)
{
Sheet1[0, i].Style = style1; //1行目
Sheet1[1, i].Style = style2; //2行目
}
// 1行目をマージ
XLCellRange ColRange1 = new XLCellRange(0, 0, 1, 2);
XLCellRange ColRange2 = new XLCellRange(0, 0, 3, 4);
c1XLBook1.Sheets[0].MergedCells.Add(ColRange1);
c1XLBook1.Sheets[0].MergedCells.Add(ColRange2);
// データ値の設定
Sheet1[0, 0].Value = "ID";
Sheet1[0, 1].Value = "地区A";
Sheet1[0, 3].Value = "地区B";
Sheet1[1, 1].Value = "男";
Sheet1[1, 2].Value = "女";
Sheet1[1, 3].Value = "男";
Sheet1[1, 4].Value = "女";
int r, c;
Random randam = new System.Random();
for (r = 2; r <= 100; r++)
{
Sheet1[r, 0].Value = (r - 1).ToString();
Sheet1[r, 0].Style = style3; //"ID"列の文字色設定
for (c = 1; c <= 4; c++)
Sheet1[r, c].Value = (randam.Next(100, 200)).ToString();
}
// 印刷時に最初の2行を繰り返します。
Sheet1.SetRangeToRepeat(0, 1, -1, -1);
// Excelファイルに保存
string sfile = @"..\..\Test01.xlsx";
c1XLBook1.Save(sfile, FileFormat.OpenXml);
System.Diagnostics.Process.Start(sfile);
}
}
}