チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»xlsnetcells

Displaying items by tag: xlsnetcells

Excel ワークシートでは、生データが単なる数値として表示されることが多く、直感的に理解しづらい場合があります。数値書式を設定することで、これらの数値をより分かりやすい形式に変換できます。たとえば、売上データを通貨形式に設定すると、通貨記号や桁区切り記号が追加され、一目で金額を把握できるようになります。また、市場シェアデータをパーセンテージ形式に設定することで、各部分の割合が明確になり、迅速な比較や分析が可能になります。本記事では、Spire.XLS for .NET を使用して C# で Excel セルの数値書式を設定する方法を解説します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel の数値書式における記号

Excel の数値書式コードでは、数値の表示方法を定義するためにさまざまな記号が使用されます。以下に、一般的な記号の詳細な説明を示します。

記号 説明
0 必須の数字プレースホルダー。必要に応じてゼロで埋められます。
# 任意の数字プレースホルダー。意味のないゼロは表示されません。
? 任意の数字プレースホルダー。小数点の位置を揃えるためにスペースが追加され、小数の末尾にゼロが補われることがあります。
. 小数点を表します。
, 桁区切り記号として使用されます。
; 正、負、ゼロ、およびテキストの各値に対する書式コードのセクションを区切ります。
% 数値を100倍し、パーセント記号を追加します。
E - + 指数表記(科学技術表記)を示します。
通貨記号($, €, ¥ など) 対応する通貨記号を表示します。
[Color] 数値の表示に色を指定します。
日付/時刻(yyyy, mmmm, mm, dd, hh, ss, AM/PM) それぞれ年、月(完全名)、月、日、時、分、秒、および12時間制の指標を表します。

C# で Excel セルの数値書式を設定する

Spire.XLS for .NET では、CellRange.NumberValue プロパティを使用してセルの数値を設定し、CellRange.NumberFormat プロパティを使用して数値書式コードを設定できます。詳細な手順は以下のとおりです。

  • Workbook インスタンスを作成します。
  • Workbook.Worksheets[] プロパティを使用して、指定のワークシートを取得します。
  • Worksheet.Range[] プロパティを使用して、指定のセルを取得します。
  • CellRange.Text プロパティを使用して、指定のセルにテキストを追加します。
  • CellRange.NumberValue プロパティを使用して、指定のセルに数値を追加し、その後、CellRange.NumberFormat プロパティを使用して数値書式を設定します。
  • Workbook.SaveToFile() メソッドを使用して、結果のファイルを保存します。
  • C#
using Spire.Xls;

namespace SetNumberFormat
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbook インスタンスを作成
            Workbook workbook = new Workbook();

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // 指定したセルにテキストを追加し、セルのスタイルを設定
            sheet.Range["B3"].Text = "値";
            sheet.Range["C3"].Text = "数値書式";
            sheet.Range["D3"].Text = "表示";
            sheet.Range["E3"].Text = "備考";
            sheet.Range["B3:E3"].Style.Font.IsBold = true;
            sheet.Range["B3:E3"].Style.KnownColor = ExcelColors.SkyBlue;

            // ゼロパディングされた数値
            sheet.Range["B4"].Text = "123";
            sheet.Range["C4"].Text = "0000";
            sheet.Range["D4"].NumberValue = 123;
            sheet.Range["D4"].NumberFormat = "0000";
            sheet.Range["E4"].Text = "ゼロパディングされた数値";

            // 千位区切り付き小数点2桁の数値
            sheet.Range["B5"].Text = "1234.5678";
            sheet.Range["C5"].Text = "#,##0.00";
            sheet.Range["D5"].NumberValue = 1234.5678;
            sheet.Range["D5"].NumberFormat = "#,##0.00";
            sheet.Range["E5"].Text = "千位区切り付き小数点2桁の数値";

            // 赤色で表示される負の数
            sheet.Range["B6"].Text = "-1234.5678";
            sheet.Range["C6"].Text = "0;[Red]-0";
            sheet.Range["D6"].NumberValue = -1234.5678;
            sheet.Range["D6"].NumberFormat = "0;[Red]-0";
            sheet.Range["E6"].Text = "赤色で表示される負の数";

            // 小数点1桁のパーセンテージ
            sheet.Range["B7"].Text = "0.12345";
            sheet.Range["C7"].Text = "0.0%";
            sheet.Range["D7"].NumberValue = 0.12345;
            sheet.Range["D7"].NumberFormat = "0.0%";
            sheet.Range["E7"].Text = "小数点1桁のパーセンテージ";

            // テキスト付き数値
            sheet.Range["B8"].Text = "1234.5678";
            sheet.Range["C8"].Text = "\"数量: \"0";
            sheet.Range["D8"].NumberValue = 1234.5678;
            sheet.Range["D8"].NumberFormat = "\"数量: \"0";
            sheet.Range["E8"].Text = "テキスト付き数値";

            // 通貨記号付き数値
            sheet.Range["B9"].Text = "1234.5678";
            sheet.Range["C9"].Text = "$#,##0.00";
            sheet.Range["D9"].NumberValue = 1234.5678;
            sheet.Range["D9"].NumberFormat = "$#,##0.00";
            sheet.Range["E9"].Text = "通貨記号付き数値";

            // 指数表記
            sheet.Range["B10"].Text = "1234.5678";
            sheet.Range["C10"].Text = "0.00E+00";
            sheet.Range["D10"].NumberValue = 1234.5678;
            sheet.Range["D10"].NumberFormat = "0.00E+00";
            sheet.Range["E10"].Text = "指数表記";

            // 分数表記
            sheet.Range["B11"].Text = "0.5";
            sheet.Range["C11"].Text = "# ?/?";
            sheet.Range["D11"].NumberValue = 0.5;
            sheet.Range["D11"].NumberFormat = "# ?/?";
            sheet.Range["E11"].Text = "分数表記";

            // 日付
            sheet.Range["B12"].Text = "45930";
            sheet.Range["C12"].Text = "yyyy-MM-dd";
            sheet.Range["D12"].NumberValue = 45930;
            sheet.Range["D12"].NumberFormat = "yyyy-MM-dd";
            sheet.Range["E12"].Text = "日付";

            // 時刻
            sheet.Range["B13"].Text = "0.5";
            sheet.Range["C13"].Text = "h:mm:ss AM/PM";
            sheet.Range["D13"].NumberValue = 0.5;
            sheet.Range["D13"].NumberFormat = "h:mm:ss AM/PM";
            sheet.Range["E13"].Text = "時刻";

            // 使用範囲のセルスタイルを設定
            sheet.AllocatedRange.Style.Font.FontName = "Calibri";
            sheet.AllocatedRange.Style.Font.Size = 11;
            sheet.AllocatedRange.Style.HorizontalAlignment = HorizontalAlignType.Left;

            // 列幅を自動調整
            sheet.AutoFitColumn(2);
            sheet.AutoFitColumn(3);
            sheet.AutoFitColumn(4);
            sheet.AutoFitColumn(5);

            // 結果ファイルを保存
            workbook.SaveToFile("output/Excelセルの数値書式.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

Customize Number Format of Excel Cells Using Spire.XLS for .Net with C#

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in セル
Tagged under

C# で Excel を操作する際、行、列、セルをコピーするのは一見簡単そうに思えますが、元の書式を維持するとなると一筋縄ではいかないことがあります。レポート用のデータ整理やプレゼンテーション作成、またはスプレッドシートを見栄えよく整える場合でも、元の見た目を維持することは重要です。本記事では、Spire.XLS for .NET を使用して、C# で Excel の行、列、セルを元の書式を保持したままコピーする方法を解説します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

C# で Excel の行を書式付きでコピーする

Excel で行をコピーする際に書式を維持するには、Worksheet.CopyRow(CellRange sourceRow, Worksheet destSheet, int destRowIndex, CopyRangeOptions copyOptions) メソッドを使用すると効率的です。このメソッドを使用すると、同じワークシート内または異なるワークシート間で行を正確にコピーできます。また、CopyRangeOptions パラメーターを使用して、すべての書式、条件付き書式、データ検証、スタイル、または数式の値のみをコピーするなど、コピー動作を制御することも可能です。

以下は、Spire.XLS を使用して異なるワークシート間で書式付きで行をコピーする手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、ソースと宛先のワークシートを取得します。
  • Worksheet.Rows[index] プロパティを使用してコピーしたい行を取得します。
  • Worksheet.CopyRow(CellRange sourceRow, Worksheet destSheet, int destRowIndex, CopyRangeOptions copyOptions) メソッドを使用して、ソースワークシートから宛先ワークシートに行とその書式をコピーします。
  • ソース行のセル幅を宛先行の対応するセルにコピーします。
  • Workbook.SaveToFile() メソッドを使用してブックをファイルに保存します。
  • C#
using Spire.Xls;

namespace CopyRows
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成します
            Workbook workbook = new Workbook();
            // Excelファイルを読み込みます
            workbook.LoadFromFile("Sample.xlsx");

            // ソースワークシートを取得します
            Worksheet sheet1 = workbook.Worksheets[0];

            // 新しいワークシートを作成します
            Worksheet sheet2 = workbook.Worksheets.Add("Sheet2");

            // コピーしたい行を取得します
            CellRange row = sheet1.Rows[0];

            // ソースワークシートの行を宛先ワークシートの1行目にコピーします
            sheet1.CopyRow(row, sheet2, 1, CopyRangeOptions.All);

            int columns = sheet1.Columns.Length;

            // ソース行内のセルの列幅を宛先行内の対応するセルにコピーします
            for (int i = 0; i < columns; i++)
            {
                double columnWidth = row.Columns[i].ColumnWidth;
                sheet2.Rows[0].Columns[i].ColumnWidth = columnWidth;
            }

            // ワークブックをファイルに保存します
            workbook.SaveToFile("output/行のコピー.xlsx");
            workbook.Dispose();
        }
    }
}

Spire.XLSを使用した書式付き行のコピー

C# で Excel の列を書式付きでコピーする

同様に、列を書式付きでコピーするには、Worksheet.CopyColumn(CellRange sourceColumn, Worksheet destSheet, int destColIndex, CopyRangeOptions copyOptions) メソッドを使用できます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、ソースと宛先のワークシートを取得します。
  • Worksheet.Columns[index] プロパティを使用してコピーしたい列を取得します。
  • Worksheet.CopyColumn(CellRange sourceColumn, Worksheet destSheet, int destColIndex, CopyRangeOptions copyOptions) メソッドを使用して、ソースワークシートから宛先ワークシートに列とその書式をコピーします。
  • ソース列のセルの行の高さを宛先列の対応するセルにコピーします。
  • Workbook.SaveToFile() メソッドを使用してブックをファイルに保存します。
  • C#
using Spire.Xls;

namespace CopyColumns
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成します
            Workbook workbook = new Workbook();
            // Excelファイルを読み込みます
            workbook.LoadFromFile("Sample.xlsx");

            // ソースワークシートを取得します
            Worksheet sheet1 = workbook.Worksheets[0];

            // 宛先ワークシートを取得します
            Worksheet sheet2 = workbook.Worksheets.Add("Sheet2");

            // コピーしたい列を取得します
            CellRange column = sheet1.Columns[0];

            // ソースワークシートの列を宛先ワークシートの1列目にコピーします
            sheet1.CopyColumn(column, sheet2, 1, CopyRangeOptions.All);

            int rows = column.Rows.Length;

            // ソース列内のセルの行高さを宛先列内の対応するセルにコピーします
            for (int i = 0; i < rows; i++)
            {
                double rowHeight = column.Rows[i].RowHeight;
                sheet2.Columns[0].Rows[i].RowHeight = rowHeight;
            }

            // ワークブックをファイルに保存します
            workbook.SaveToFile("output/列のコピー.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

.NETを使った書式付き列のコピー

C# で Excel のセルを書式付きでコピーする

行や列のコピーに加え、Spire.XLS for .NETを使用すると、CellRange.Copy(CellRange destRange, CopyRangeOptions copyOptions) メソッドを利用してセル範囲を書式付きでコピーすることも可能です。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、ソースと宛先のワークシートを取得します。
  • Worksheet.Range[] プロパティを使用して、ソースと宛先のセル範囲を取得します。
  • CellRange.Copy(CellRange destRange, CopyRangeOptions copyOptions) メソッドを使用して、ソースワークシートのセル範囲とその書式を宛先セル範囲にコピーします。
  • ソースセル範囲の行の高さと列の幅を宛先セル範囲にコピーします。
  • Workbook.SaveToFile() メソッドを使用してブックをファイルに保存します。
  • C#
using Spire.Xls;

namespace CopyCells
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成します
            Workbook workbook = new Workbook();
            // Excelファイルを読み込みます
            workbook.LoadFromFile("Sample.xlsx");

            // ソースワークシートを取得します
            Worksheet sheet1 = workbook.Worksheets[0];
            // 宛先ワークシートを取得します
            Worksheet sheet2 = workbook.Worksheets.Add("Sheet2");

            // ソースセル範囲を取得します
            CellRange range1 = sheet1.Range["A1:D6"];
            // 宛先セル範囲を取得します
            CellRange range2 = sheet2.Range["A1:D6"];

            // ソースワークシートのセル範囲を宛先ワークシートのセル範囲にコピーします
            range1.Copy(range2, CopyRangeOptions.All);

            // ソースセル範囲の行高さと列幅を宛先セル範囲にコピーします
            for (int i = 0; i < range1.Rows.Length; i++)
            {
                CellRange row = range1.Rows[i];
                for (int j = 0; j < row.Columns.Length; j++)
                {
                    CellRange column = row.Columns[j];
                    range2.Rows[i].Columns[j].ColumnWidth = column.ColumnWidth;
                    range2.Rows[i].RowHeight = row.RowHeight;
                }
            }

            // ワークブックをファイルに保存します
            workbook.SaveToFile("output/セルのコピー.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#を使った書式付きセルのコピー

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in セル
Tagged under

スプレッドシートを作成する際には、行の高さや列の幅を設定することで、レイアウトや外観を調整することができます。Microsoft Excel では、列の幅や行の高さを変更するためのさまざまな方法が提供されています。たとえば、列や行の枠線をドラッグして目的のサイズに調整したり、列幅ボックスや行高さボックスに特定の値を入力したりすることができます。ただし、開発者にとって、プログラミングを通じてこの機能を実現する方法を理解することが重要です。この記事では、Spire.XLS for .NET を使用して Excel で行の高さと列の幅を設定する方法について説明します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel で行の高さを設定する

Spire.XLS for .NET では、ユーザーが Worksheet.SetRowHeight() メソッドを呼び出すことによって、Excel で行の高さを設定することができます。以下は詳細な手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、サンプルファイルをロードします。
  • Workbook.Worksheets[] プロパティを使用して、このファイルから最初のシートを取得します。
  • Worksheet.SetRowHeight() メソッドを呼び出して、最初の行の高さを設定します。
  • Workbook.SaveToFile() メソッドを使用して、結果ファイルを保存します。
  • C#
  • VB.NET
using Spire.Xls;
namespace SetExcelRow
{
    class Program
    {

        static void Main(string[] args)
        {
            //Workbookクラスのオブジェクトを作成する
            Workbook workbook = new Workbook();

            //ディスクからファイルをロードする
            workbook.LoadFromFile(@"sample.xlsx");

            //ファイルから最初のシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //最初の行の高さを設定する
            sheet.SetRowHeight(1, 25);

            //結果ファイルを保存する
            workbook.SaveToFile("SetRow.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}
Imports Spire.Xls

Namespace SetExcelRow
    
    Class Program
        
        Private Shared Sub Main(ByVal args() As String)

            'Workbookクラスのオブジェクトを作成する
            Dim workbook As Workbook = New Workbook

            'ディスクからファイルをロードする
            workbook.LoadFromFile("sample.xlsx")

            'ファイルから最初のシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            '最初の行の高さを設定する
            sheet.SetRowHeight(1, 25)

            '結果ファイルを保存する
            workbook.SaveToFile("SetRow.xlsx", ExcelVersion.Version2013)
            workbook.Dispose
        End Sub
    End Class
End Namespace

C#VB.NET:Excel で行の高さと列の幅を設定する方法

Excel で列幅を設定する

さらに、Spire.XLS for .NET では、ユーザーが Worksheet.SetColumnWidth() メソッドを呼び出すことによって、 Excel の列幅を設定することもできます。以下は詳細な手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、サンプルファイルをロードします。
  • Workbook.Worksheets[] プロパティを使用して、このファイルから最初のシートを取得します。
  • Worksheet.SetColumnWidth() メソッドを呼び出して、4 番目の列の幅を設定します。
  • Workbook.SaveToFile() メソッドを使用して、結果ファイルを保存します。
  • C#
  • VB.NET
using Spire.Xls;
namespace SetExcelColumn
{
    class Program
    {

        static void Main(string[] args)
        {
            //Workbookクラスのオブジェクトを作成する
            Workbook workbook = new Workbook();

            //ディスクからファイルをロードする
            workbook.LoadFromFile(@"sample.xlsx");

            //ファイルから最初のシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //4 番目の列の幅を設定する
            sheet.SetColumnWidth(4, 15);

            //結果ファイルを保存する
            workbook.SaveToFile("SetColumn.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}
Imports Spire.Xls

Namespace SetExcelColumn
    
    Class Program
        
        Private Shared Sub Main(ByVal args() As String)

            'Workbookクラスのオブジェクトを作成する
            Dim workbook As Workbook = New Workbook

            'ディスクからファイルをロードする
            workbook.LoadFromFile("sample.xlsx")

            'ファイルから最初のシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            '4 番目の列の幅を設定する
            sheet.SetColumnWidth(4, 15)

            '結果ファイルを保存する
            workbook.SaveToFile("SetColumn.xlsx", ExcelVersion.Version2013)
            workbook.Dispose
        End Sub
    End Class
End Namespace

C#VB.NET:Excel で行の高さと列の幅を設定する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in セル
Tagged under

Excel ドロップダウンリストはデータ検証機能です。この機能は、指定されたセルに入力されたデータを制限し、事前定義された値セットから値を選択する必要があります。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel でドロップダウンリストを作成する方法を紹介します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

セル範囲の値に基づいたドロップダウンリストを作成する

Spire.XLS for .NET を使用すると、値をセル範囲に追加し、指定したデータ範囲をデータ検証ソースとして参照して、ドロップダウンリストを作成できます。この方法は少し時間がかかりますが、結果文書のセルの値を直接変更することで、ドロップダウンリストの項目を簡単に更新できます。以下は具体的な操作手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、サンプルドキュメントをロードします。
  • Workbook.Worksheets[] プロパティを使用して、指定したシートを取得します。
  • Worksheet.Range[] プロパティを使用して、指定したセルまたはセル範囲を取得します。
  • XlsRange.Value プロパティを使用して、指定したセルに値を追加します。
  • XlsRange.DataValidation プロパティを使用して、指定したセル範囲のデータ入力規則を取得します。
  • Validation.DataRange プロパティを使用して、指定したデータ範囲をデータ検証ソースとして参照することにより、ドロップダウンリストを作成します。
  • Workbook.SaveToFile() メソッドを使用して、結果文書を保存します。
  • C#
  • VB.NET
using Spire.Xls;

namespace DropdownList
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookオブジェクトを作成する
            Workbook workbook = new Workbook();

            //サンプルドキュメントをロードする
            workbook.LoadFromFile(@"E:\Files\input.xlsx");

            //最初のシートを取得する 
            Worksheet sheet = workbook.Worksheets[0];

            //指定したセルに値を追加する
            sheet.Range["A10"].Value = "テニス";
            sheet.Range["A11"].Value = "バスケットボール";
            sheet.Range["A12"].Value = "サッカー";

            //指定したデータ範囲をデータ検証ソースとして参照することにより、ドロップダウンリストを作成する
            sheet.Range["C2:C7"].DataValidation.DataRange = sheet.Range["A10:A12"];

            //結果文書を保存する
            workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010);
        }
    }
}
Imports Spire.Xls

Namespace DropdownList
    Class Program
        Private Shared Sub Main(ByVal args As String())

            'Workbookオブジェクトを作成する
            Dim workbook As Workbook = New Workbook()

            'サンプルドキュメントをロードする
            workbook.LoadFromFile("E:\Files\input.xlsx")

            '最初のシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            '指定したセルに値を追加する
            sheet.Range("A10").Value = "テニス"
            sheet.Range("A11").Value = "バスケットボール"
            sheet.Range("A12").Value = "サッカー"

            '指定したデータ範囲をデータ検証ソースとして参照することにより、ドロップダウンリストを作成する            sheet.Range("C2:C7").DataValidation.DataRange = sheet.Range("A10:A12")

            '結果文書を保存する
            workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel でドロップダウンリストを作成する方法

文字列配列の値に基づいたドロップダウンリストを作成する

Excel では値リストを手動で入力することでドロップダウンリストを作成できます。この方法では、Excel セルにデータを追加しないようにして、Excel ドキュメントの整然とした順序を保つことができます。以下は具体的な操作手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets[] プロパティを使用して、指定したシートを取得します。
  • セルにテキストを追加し、セルフォントスタイルを設定します。
  • Worksheet.Range[] プロパティを使用して、指定したセルまたはセル範囲を取得します。
  • XlsRange.DataValidation プロパティを使用して、指定したセル範囲のデータの入力規則を取得します。
  • Validation.Values プロパティを使用して、ドロップダウンリストの値を設定します。
  • Validation.IsSuppressDropDownArrow プロパティを false に設定するで、指定したセルにドロップダウンリストを作成します。
  • Workbook.SaveToFile() メソッドを使用して、結果文書を保存します。
  • C#
  • VB.NET
using Spire.Xls;

namespace DropdownList2
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookオブジェクトを作成する
            Workbook workbook = new Workbook();

            //最初のシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //セルB 2にテキストを追加し、フォントスタイルを設定する
            sheet.Range["B2"].Value = "興味";
            sheet.Range["B2"].Style.Font.IsBold = true;
            sheet.Range["B2"].Style.KnownColor = ExcelColors.LightTurquoise;

            //ドロップダウンリストの値を設定する
            sheet.Range["C2"].DataValidation.Values = new string[] { "テニス", "バスケットボール", "サッカー" };

            //指定したセルにドロップダウンリストを作成する
            sheet.Range["C2"].DataValidation.IsSuppressDropDownArrow = false;

            //結果文書を保存する
            workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010);
        }
    }
}
Imports Spire.Xls

Namespace DropdownList2
    Class Program
        Private Shared Sub Main(ByVal args As String())

            'Workbookオブジェクトを作成する
            Dim workbook As Workbook = New Workbook()

            '最初のシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            'セルB 2にテキストを追加し、フォントスタイルを設定する
            sheet.Range("B2").Value = "興味"
            sheet.Range("B2").Style.Font.IsBold = True
            sheet.Range("B2").Style.KnownColor = ExcelColors.LightTurquoise

            'ドロップダウンリストの値を設定する
            sheet.Range("C2").DataValidation.Values = New String() { "テニス", "バスケットボール", "サッカー" }

            '指定したセルにドロップダウンリストを作成する
            sheet.Range("C2").DataValidation.IsSuppressDropDownArrow = False

            '結果文書を保存する
            workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel でドロップダウンリストを作成する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in セル
Tagged under

Excel ドキュメントのセルは、デフォルトで背景色が透明になっています。特定のセルのデータを強調表示したい場合は、Microsoft Excel で提供されている「塗りつぶし色」という書式オプションで、セルの背景色やパターンを変更することができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET で Excel 内の特定のセルまたはセル範囲の背景色とパターンを設定する方法を紹介します。

Spire.XLS for.NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel セルの背景色とパターンを設定する方法

以下は、Excel セルの背景色とパターンを設定する手順です。

  • Workbook クラスのインスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel サンプルファイルをロードします。
  • Workbook.Worksheets[] プロパティを使用して、指定したワークシートを取得します。
  • Worksheet.Range[] プロパティを使用して、指定したセル範囲を取得します。
  • CellRange.Style プロパティを使用して、指定したセル範囲のスタイルを取得します。
  • CellStyle.Color プロパティを使用して、指定したセル範囲の背景色を設定します。
  • CellStyle.FillPattern プロパティを使用して、指定したセル範囲の塗りつぶしパターンのスタイルを設定します。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
  • VB.NET
using System.Drawing;
using Spire.Xls;

namespace CellBackground
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのインスタンスを作成する
            Workbook workbook = new Workbook();

            //Excelサンプルファイルをロードする
            workbook.LoadFromFile(@"Sample.xlsx");

            //最初のワークシートを取得する
            Worksheet worksheet = workbook.Worksheets[0];

            // ["A1:E1"]と["A2:A10"]の背景色を設定する
            worksheet.Range["A1:E1"].Style.Color = Color.MediumSeaGreen;
            worksheet.Range["A2:A10"].Style.Color = Color.LightYellow;

            //E 6の背景色を設定する
            worksheet.Range["E6"].Style.Color = Color.Red;

            //["B4:D5"]のパターンのスタイルを設定する
            worksheet.Range["B4:D5"].Style.FillPattern = ExcelPatternType.Percent125Gray;

            //結果ファイルを保存する 
            workbook.SaveToFile("CellBackground.xlsx", ExcelVersion.Version2013);
        }

    }
}
Imports System.Drawing
Imports Spire.Xls

Namespace CellBackground
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            'Workbookクラスのインスタンスを作成する
            Dim workbook As Workbook = New Workbook()

            'Excelサンプルファイルをロードする
            workbook.LoadFromFile("Sample.xlsx")

            '最初のワークシートを取得する
            Dim worksheet As Worksheet = workbook.Worksheets(0)

            '["A1:E1"]と["A2:A10"]の背景色を設定する
            worksheet.Range("A1:E1").Style.Color = Color.MediumSeaGreen
            worksheet.Range("A2:A10").Style.Color = Color.LightYellow

            'E 6の背景色を設定する
            worksheet.Range("E6").Style.Color = Color.Red

            '["B4:D5"]のパターンのスタイルを設定する
            worksheet.Range("B4:D5").Style.FillPattern = ExcelPatternType.Percent125Gray

            '結果ファイルを保存する 
            workbook.SaveToFile("CellBackground.xlsx", ExcelVersion.Version2013)
        End Sub

    End Class
End Namespace

C#/VB.NET:Excel セルの背景色とパターンを設定する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in セル
Tagged under

人々が Excel のテーブルを作るとき、いつもいくつかのセルを結合したり結合を解除したりする必要があります。セルをマージ解除したいと、1つずつ検索してキャンセルしなければならないからかなり面倒です。ゆえに、次は Excel で結合されたセルを識別する簡単な方法を紹介します。これを使って結合されたセルを識別した後また結合を解除したり、書式設定などの他の操作を実行することもできます。

より良く理解させるため、こちらはふたつの結語したエリアを含むドキュメントを例として、Spire.XLS for .NET というコンポーネントを使用して、詳しく説明します。

C# を使用して Excel で結合されたセルを取得する方法

コードを使用する

ステップ 1、Workbook オブジェクトをインスタンス化し、Excel ドキュメントを読み込みます。

Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx");

ステップ 2、Excel ドキュメントの最初のシートを取得します。

Worksheet sheet = workbook.Worksheets[0];

ステップ 3、マージされた領域を取得し、結果を CellRange 配列に保存します。

CellRange[] range = sheet.MergedCells;

ステップ 4、配列をトラバースして、マージされた領域のセルをマージ解除します。

foreach (CellRange cell in range)
{
    cell.UnMerge();
}

ステップ 5、ドキュメントを保存します。

workbook.SaveToFile("result.xlsx");

操作した画像は以下のように:

C# を使用して Excel で結合されたセルを取得する方法

完全なるコード一覧:

  • C#
using Spire.Xls;

namespace Detect_Merged_Cells
{
    class Program
    {
        static void Main(string[] args)
        {
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("test.xlsx");
            Worksheet sheet = workbook.Worksheets[0];
            CellRange[] range = sheet.MergedCells;
            foreach (CellRange cell in range)
            {
                cell.UnMerge();
            }
            workbook.SaveToFile("result.xlsx");
        }
    }
}

今回の Excel で結合されたセルを取得する方法は以上でした、最後まで読んでいただきありがとうございました。

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30日間有効な一時ライセンスを取得してください。

Published in セル
Tagged under