Dim workbook As New Infragistics.Documents.Excel.Workbook() Dim worksheet As Infragistics.Documents.Excel.Worksheet = _ workbook.Worksheets.Add("Sheet1")
セルにスタイルを適用する機能は、Infragistics.Documents.Excel アセンブリによってワークシートのカスタマイズを可能にするための方法のひとつです。セルのあらゆる特徴はカスタマイズでき、セルごとに外観を変えることができます。セルで使用されるフォント、セルの背景と境界線、テキストの配置と回転を制御できます。同じセル内にあるテキストの部分ごとに異なるフォーマットを使用することさえ可能です。
ほとんどのスタイルは、 WorksheetCell 、 WorksheetRow 、 WorksheetColumn 、および WorksheetMergedCellsRegion の CellFormat プロパティでプロパティを設定することで適用できます。
この詳細なガイドでは、ワークシートのセルにさまざまなスタイルを適用する方法を示します。
ワークシートを使用してワークブックを作成します。
新しい Visual Basic または C# プロジェクトを作成します。
Button をフォームに追加します。
Button をダブルクリックして、その Click イベントのコード ビハインドを開きます。
ひとつのワークシートを使用してワークブックを作成します。
Visual Basic の場合:
Dim workbook As New Infragistics.Documents.Excel.Workbook() Dim worksheet As Infragistics.Documents.Excel.Worksheet = _ workbook.Worksheets.Add("Sheet1")
C# の場合:
Infragistics.Documents.Excel.Workbook workbook = new Infragistics.Documents.Excel.Workbook(); Infragistics.Documents.Excel.Worksheet worksheet = workbook.Worksheets.Add( "Sheet1" );
セルのすべてのテキストが表示されるように、最初の列の幅を広げます。
Visual Basic の場合:
worksheet.Columns.Item(0).Width = 6000
C# の場合:
worksheet.Columns[ 0 ].Width = 6000;
スタイルをセルに適用します。
値がセルで中央揃えになるようにセルの水平方向の配置を変更します。
Visual Basic の場合:
worksheet.Rows.Item(0).Cells.Item(0).Value = "Center" worksheet.Rows.Item(0).Cells.Item(0).CellFormat.Alignment = _ Infragistics.Documents.Excel.HorizontalCellAlignment.Center
C# の場合:
worksheet.Rows[ 0 ].Cells[ 0 ].Value = "Center"; worksheet.Rows[ 0 ].Cells[ 0 ].CellFormat.Alignment = Infragistics.Documents.Excel.HorizontalCellAlignment.Center;
セルに異なる境界線スタイルと色を指定して、他のセルと区別します。
Visual Basic の場合:
worksheet.Rows.Item(1).Cells.Item(0).CellFormat.BottomBorderColor = Color.Red worksheet.Rows.Item(1).Cells.Item(0).CellFormat.BottomBorderStyle = _ Infragistics.Documents.Excel.CellBorderLineStyle.DashDot worksheet.Rows.Item(1).Cells.Item(0).CellFormat.LeftBorderColor = Color.Yellow worksheet.Rows.Item(1).Cells.Item(0).CellFormat.LeftBorderStyle = _ Infragistics.Documents.Excel.CellBorderLineStyle.Thick worksheet.Rows.Item(1).Cells.Item(0).CellFormat.RightBorderColor = Color.Orange worksheet.Rows.Item(1).Cells.Item(0).CellFormat.RightBorderStyle = _ Infragistics.Documents.Excel.CellBorderLineStyle.Thin worksheet.Rows.Item(1).Cells.Item(0).CellFormat.TopBorderColor = Color.Blue worksheet.Rows.Item(1).Cells.Item(0).CellFormat.TopBorderStyle = _ Infragistics.Documents.Excel.CellBorderLineStyle.Double
C# の場合:
worksheet.Rows[ 1 ].Cells[ 0 ].CellFormat.BottomBorderColor = Color.Red; worksheet.Rows[ 1 ].Cells[ 0 ].CellFormat.BottomBorderStyle = Infragistics.Documents.Excel.CellBorderLineStyle.DashDot; worksheet.Rows[ 1 ].Cells[ 0 ].CellFormat.LeftBorderColor = Color.Yellow; worksheet.Rows[ 1 ].Cells[ 0 ].CellFormat.LeftBorderStyle = Infragistics.Documents.Excel.CellBorderLineStyle.Thick; worksheet.Rows[ 1 ].Cells[ 0 ].CellFormat.RightBorderColor = Color.Orange; worksheet.Rows[ 1 ].Cells[ 0 ].CellFormat.RightBorderStyle = Infragistics.Documents.Excel.CellBorderLineStyle.Thin; worksheet.Rows[ 1 ].Cells[ 0 ].CellFormat.TopBorderColor = Color.Blue; worksheet.Rows[ 1 ].Cells[ 0 ].CellFormat.TopBorderStyle = Infragistics.Documents.Excel.CellBorderLineStyle.Double;
背景のスタイルをセルに適用して、目立たせます。
Visual Basic の場合:
worksheet.Rows.Item(2).Cells.Item(0).CellFormat.FillPattern = _ Infragistics.Documents.Excel.FillPatternStyle.DiagonalCrosshatch worksheet.Rows.Item(2).Cells.Item(0).CellFormat.FillPatternBackgroundColor = _ Color.Lime worksheet.Rows.Item(2).Cells.Item(0).CellFormat.FillPatternForegroundColor = _ Color.Gray
C# の場合:
worksheet.Rows[ 2 ].Cells[ 0 ].CellFormat.FillPattern = Infragistics.Documents.Excel.FillPatternStyle.DiagonalCrosshatch; worksheet.Rows[ 2 ].Cells[ 0 ].CellFormat.FillPatternBackgroundColor = Color.Lime; worksheet.Rows[ 2 ].Cells[ 0 ].CellFormat.FillPatternForegroundColor = Color.Gray;
値が異なって表示されるように、セルのフォントを変更します。
Visual Basic の場合:
worksheet.Rows.Item(3).Cells.Item(0).Value = 57 worksheet.Rows.Item(3).Cells.Item(0).CellFormat.Font.Bold = _ Infragistics.Documents.Excel.ExcelDefaultableBoolean.True worksheet.Rows.Item(3).Cells.Item(0).CellFormat.Font.UnderlineStyle = _ Infragistics.Documents.Excel.FontUnderlineStyle.Double
C# の場合:
worksheet.Rows[ 3 ].Cells[ 0 ].Value = 57; worksheet.Rows[ 3 ].Cells[ 0 ].CellFormat.Font.Bold = Infragistics.Documents.Excel.ExcelDefaultableBoolean.True; worksheet.Rows[ 3 ].Cells[ 0 ].CellFormat.Font.UnderlineStyle = Infragistics.Documents.Excel.FontUnderlineStyle.Double;
表示される値のタイプを認識しやすくするために、フォーマット文字列をセルに適用します(以下のセルは通貨を表示するために使用されます)。
Visual Basic の場合:
worksheet.Rows.Item(4).Cells.Item(0).Value = -4357.059 worksheet.Rows.Item(4).Cells.Item(0).CellFormat.FormatString = _ """$""#,##0.00_);[Red](""$""#,##0.00)"
C# の場合:
worksheet.Rows[ 4 ].Cells[ 0 ].Value = -4357.059; worksheet.Rows[ 4 ].Cells[ 0 ].CellFormat.FormatString = "\"$\"#,##0.00_);[Red](\"$\"#,##0.00)";
セルでテキストをインデントします。
Visual Basic の場合:
worksheet.Rows.Item(5).Cells.Item(0).Value = "Intented" worksheet.Rows.Item(5).Cells.Item(0).CellFormat.Indent = 2
C# の場合:
worksheet.Rows[ 5 ].Cells[ 0 ].Value = "Intented"; worksheet.Rows[ 5 ].Cells[ 0 ].CellFormat.Indent = 2;
セルでテキストを回転します。
Visual Basic の場合:
worksheet.Rows.Item(6).Cells.Item(0).Value = "Rotated" worksheet.Rows.Item(6).Cells.Item(0).CellFormat.Rotation = 45
C# の場合:
worksheet.Rows[ 6 ].Cells[ 0 ].Value = "Rotated"; worksheet.Rows[ 6 ].Cells[ 0 ].CellFormat.Rotation = 45;
セルに収まるようにテキストを縮小します。
Visual Basic の場合:
worksheet.Rows.Item(7).Cells.Item(0).Value = _ "Shrink text so it is all visible in the cell" worksheet.Rows.Item(7).Cells.Item(0).CellFormat.ShrinkToFit = _ Infragistics.Documents.Excel.ExcelDefaultableBoolean.True
C# の場合:
worksheet.Rows[ 7 ].Cells[ 0 ].Value = "Shrink text so it is all visible in the cell"; worksheet.Rows[ 7 ].Cells[ 0 ].CellFormat.ShrinkToFit = Infragistics.Documents.Excel.ExcelDefaultableBoolean.True;
セルにデフォルトの高さがない場合に値がセルの上部に表示されるように、セルの垂直方向の配置を変更します。
Visual Basic の場合:
worksheet.Rows.Item(8).Height = 500 worksheet.Rows.Item(8).Cells.Item(0).Value = "Top" worksheet.Rows.Item(8).Cells.Item(0).CellFormat.VerticalAlignment = _ Infragistics.Documents.Excel.VerticalCellAlignment.Top
C# の場合:
worksheet.Rows[ 8 ].Height = 500; worksheet.Rows[ 8 ].Cells[ 0 ].Value = "Top"; worksheet.Rows[ 8 ].Cells[ 0 ].CellFormat.VerticalAlignment = Infragistics.Documents.Excel.VerticalCellAlignment.Top;
セル内のテキストが次のセルにはみ出したり、途中で切れないように、折り返します。
Visual Basic の場合:
worksheet.Rows.Item(9).Cells.Item(0).Value = _ "This text has been wrapped." worksheet.Rows.Item(9).Cells.Item(0).CellFormat.WrapText = _ Infragistics.Documents.Excel.ExcelDefaultableBoolean.True
C# の場合:
worksheet.Rows[ 9 ].Cells[ 0 ].Value = "This text has been wrapped."; worksheet.Rows[ 9 ].Cells[ 0 ].CellFormat.WrapText = Infragistics.Documents.Excel.ExcelDefaultableBoolean.True;
FormattedString オブジェクトを使用して、セル内のテキストに混ざったフォーマットを適用します。
Visual Basic の場合:
Dim formattedString As Infragistics.Documents.Excel.FormattedString = _ New Infragistics.Documents.Excel.FormattedString("Formatted String") worksheet.Rows.Item(10).Cells.Item(0).Value = formattedString Dim font1 As Infragistics.Documents.Excel.FormattedStringFont = _ formattedString.GetFont(3, 6) font1.Color = Color.Red font1.UnderlineStyle = Infragistics.Documents.Excel.FontUnderlineStyle.Single font1.Height = 300 Dim font2 As Infragistics.Documents.Excel.FormattedStringFont = _ formattedString.GetFont(10) font2.Bold = Infragistics.Documents.Excel.ExcelDefaultableBoolean.True font2.Italic = Infragistics.Documents.Excel.ExcelDefaultableBoolean.True font2.Strikeout = Infragistics.Documents.Excel.ExcelDefaultableBoolean.True
C# の場合:
Infragistics.Documents.Excel.FormattedString formattedString = new Infragistics.Documents.Excel.FormattedString( "Formatted String" ); worksheet.Rows[ 10 ].Cells[ 0 ].Value = formattedString; Infragistics.Documents.Excel.FormattedStringFont font1 = formattedString.GetFont( 3, 6 ); font1.Color = Color.Red; font1.UnderlineStyle = Infragistics.Documents.Excel.FontUnderlineStyle.Single; font1.Height = 300; Infragistics.Documents.Excel.FormattedStringFont font2 = formattedString.GetFont( 10 ); font2.Bold = Infragistics.Documents.Excel.ExcelDefaultableBoolean.True; font2.Italic = Infragistics.Documents.Excel.ExcelDefaultableBoolean.True; font2.Strikeout = Infragistics.Documents.Excel.ExcelDefaultableBoolean.True;
ワークブックをシリアル化します。
ワークブックをファイルに書き出します。
Visual Basic の場合:
workbook.Serialize("C:\Styles.xls")
C# の場合:
workbook.Serialize( "C:\\Styles.xls" );