チュートリアル

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

Displaying items by tag: xlsnetdata

Excel のフィルター機能(オートフィルター)は、データの絞り込みや分析に便利な機能です。しかし、データの確認が終わったり、元の状態でファイルを共有したりする場合は、フィルターを解除する必要があります。

この記事では、.NET アプリケーション内で Spire.XLS for .NET を使用し、Excel ファイルのフィルターを自動的に解除する方法をご紹介します。単一のシートだけでなく、複数ファイルをバッチ処理するケースにも対応可能です。

目次

フィルターを解除する理由

Excel ファイルのフィルターを解除する主な理由は次のとおりです:

  • フィルター適用中に非表示になっている全データを再表示する
  • データの印刷や資料化の準備
  • 閲覧者が意図しない部分的なデータ表示を防ぐ

つまり、オートフィルターの解除は、データの可視性と一貫性を保つために重要です。

Spire.XLS を使ったフィルター解除手順

ライブラリの導入

まずは NuGet 経由で Spire.XLS for .NET をインストールします。

PM> Install-Package Spire.XLS

軽量な処理だけでよい場合は、無料版の Free Spire.XLS for .NET でも可能です。

PM> Install-Package FreeSpire.XLS

また、Spire.XLS for .NET または Free Spire.XLS for .NET をダウンロードし、手動でインストールすることもできます。

主なメソッドとプロパティ

メソッド / プロパティ 説明
Workbook.LoadFromFile() Excel ファイルの読み込み
Workbook.Worksheets[] ワークシートの取得
Worksheet.AutoFilters.Clear() オートフィルターをすべて解除
Worksheet.AutoFilters.Range オートフィルター範囲の指定
Workbook.SaveToFile() 編集後のファイル保存

C# 実装例:オートフィルターをすべて解除

以下は、Excel シート上のオートフィルターをすべて解除する C# コード例です:

  • C#
using Spire.Xls;

// ワークブックのインスタンスを作成
Workbook workbook = new Workbook();

// Excelワークブックを読み込む
workbook.LoadFromFile("Sample.xlsx");

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

// オートフィルターを削除
sheet.AutoFilters.Clear();

// ワークブックを保存
workbook.SaveToFile("output/すべてのExcelフィルタを削除.xlsx");
workbook.Dispose();

適用前後の Excel ワークシートの比較

C#を使用してすべてのフィルタを削除する前と後のExcelワークシート

特定列のフィルター解除(範囲の再設定)

Excel のオートフィルターは、連続した列範囲に適用されるため、特定の列だけを解除することは直接できません。代わりに、解除したい列をフィルター範囲から除いたうえで、再設定する必要があります。

以下はその手順です:

  • C#
using Spire.Xls;

// ワークブックのインスタンスを作成
Workbook workbook = new Workbook();

// Excelワークブックを読み込む
workbook.LoadFromFile("Sample.xlsx");

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

// 現在のフィルターを削除してすべてのデータを表示(データの欠落を防ぐため)
sheet.AutoFilters.Clear();

// フィルター範囲をリセット
sheet.AutoFilters.Range = sheet.Range[1, 1, 13, 7];

// ワークブックを保存
workbook.SaveToFile("output/Excel フィルタのリセット.xlsx");
workbook.Dispose();

注意:フィルター範囲を再設定する前に、既存のオートフィルターを解除しておかないと、フィルター済みのデータが範囲外になり、正しく表示されない可能性があります。

適用前後の Excel ワークシートの比較

C#を使用した特定のフィルター列を削除する前後のExcelワークシート

Spire.XLS を使うメリット

  • 高速かつ自動化しやすい:Excel を開かずに処理可能
  • .NET Framework / .NET Core 両対応
  • Microsoft Office 非依存:Office がインストールされていなくても動作
  • 業務利用に適した安定性:バッチ処理や自動化システムにも最適

よくある質問(FAQ)

C# で Excel のフィルターを解除するにはどうすればよいですか?

AutoFilters.Clear() メソッドを使用することで、対象のワークシートに設定されたすべてのオートフィルターを解除できます。

プログラムから Excel のフィルターを一括解除する一番簡単な方法は?

Spire.XLS for .NET を使えば、数行の C# コードで Excel を開かずにフィルター解除が可能です。

特定の列だけフィルターを解除できますか?

オートフィルターは連続する列に適用されるため、特定列のみを解除することはできません。代わりに一度すべてのフィルターを解除し、対象外の列を除いた範囲で再設定します。

Spire.XLS に無料版はありますか?

はい、Free Spire.XLS for .NET という無料版があります。商用以外の用途であれば、ウォーターマークなしで使用できます。

機能制限のない評価版を希望する場合は、このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。も可能です。

まとめ

C# と Spire.XLS for .NET を使えば、Excel ファイルのフィルター解除をスムーズに自動化できます。レポートや資料をクリアな状態で出力したい場合など、業務効率化に役立ちます。

Published in データ
Tagged under

上付き文字と下付き文字は、通常のテキストのベースラインの上または下に文字や数字を表示するための書式設定スタイルです。これらの書式設定スタイルを利用することで、特定の要素を強調したり、指数やべき乗、化学式、数学の方程式を示したり、データをより視覚的に魅力的で情報豊かな形式で表示することができます。この記事では、Spire.XLS for .NET を使用して Excel で上付き文字と下付き文字を適用する方法について説明します。

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

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

PM> Install-Package Spire.XLS

Excel で上付き文字と下付き文字を適用する

特定のセル内の文字に上付き文字または下付き文字のスタイルを適用するには、カスタムフォントを作成し、フォントの上付き文字または下付き文字のプロパティを適用します。その後、セル内の特定の文字にカスタムフォントを指定します。詳細な手順は以下の通りです。

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets[int index] プロパティを使用して特定のワークシートを取得します 。
  • Worksheet.Range[string name] プロパティを使用して特定のセルを取得し、CellRange.RichText.Text プロパティを使用してセルにリッチ テキストを追加します。
  • Workbook.CreateFont() メソッドを使用してカスタム フォントを作成します。
  • ExcelFont.IsSubscript プロパティを true に設定して、フォントの下付き文字プロパティを適用します。
  • CellRange.RichText.SetFont() メソッドを使用して、セル内のリッチテキストの特定の文字にフォントを割り当てます。
  • Worksheet.Range[string name] プロパティを使用して特定のセルを取得し、CellRange.RichText.Text プロパティを使用してセルにリッチ テキストを追加します。
  • Workbook.CreateFont() メソッドを使用してカスタム フォントを作成します。
  • ExcelFont.IsSuperscript プロパティを true に設定して、フォントの上付き文字プロパティを適用します。
  • CellRange.RichText.SetFont() メソッドを使用して、セル内のリッチテキストの特定の文字にフォントを割り当てます。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
  • VB.NET
using Spire.Xls;
using System.Drawing;

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

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

            //特定のセルにテキストを追加する
            sheet.Range["B2"].Text = "下付き文字:";
            sheet.Range["D2"].Text = "上付き文字:";

            //特定のセルにリッチテキストを追加する
            CellRange range = sheet.Range["B3"];
            range.RichText.Text = "an = Sn - Sn-1";

            //カスタムフォントを作成する
            ExcelFont font = workbook.CreateFont();

            //フォントの下付き文字プロパティを適用する
            font.IsSubscript = true;

            //フォント色を設定する
            font.Color = Color.Green;

            //セル内のリッチテキストの特定の文字にフォントを割り当てる
            range.RichText.SetFont(6, 6, font);
            range.RichText.SetFont(11, 13, font);

            //特定のセルにリッチテキストを追加する
            range = sheet.Range["D3"];
            range.RichText.Text = "a2 + b2 = c2";

            //カスタムフォントを作成する
            font = workbook.CreateFont();

            //フォントの上付き文字プロパティを適用する
            font.IsSuperscript = true;

            //セル内のリッチテキストの特定の文字にフォントを割り当てる
            range.RichText.SetFont(1, 1, font);
            range.RichText.SetFont(6, 6, font);
            range.RichText.SetFont(11, 11, font);

            //列幅を自動調整する
            sheet.AllocatedRange.AutoFitColumns();

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

Namespace ApplySuperscriptAndSubscript
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook = New Workbook()

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

            '特定のセルにテキストを追加する
            sheet.Range("B2").Text = "下付き文字:"
            sheet.Range("D2").Text = "上付き文字:"

            '特定のセルにリッチテキストを追加する
            Dim range As CellRange = sheet.Range("B3")
            range.RichText.Text = "an = Sn - Sn-1"

            'カスタムフォントを作成する
            Dim font As ExcelFont = workbook.CreateFont()

            'フォントの下付き文字プロパティを適用する
            font.IsSubscript = True

            'フォント色を設定する
            font.Color = Color.Green

            'セル内のリッチテキストの特定の文字にフォントを割り当てる
            range.RichText.SetFont(6, 6, font)
            range.RichText.SetFont(11, 13, font)

            '特定のセルにリッチテキストを追加する
            range = sheet.Range("D3")
            range.RichText.Text = "a2 + b2 = c2"

            'カスタムフォントを作成する
            font = workbook.CreateFont()

            'フォントの上付き文字プロパティを適用する
            font.IsSuperscript = True

            'セル内のリッチテキストの特定の文字にフォントを割り当てる
            range.RichText.SetFont(1, 1, font)
            range.RichText.SetFont(6, 6, font)
            range.RichText.SetFont(11, 11, font)

            '列幅を自動調整する
            sheet.AllocatedRange.AutoFitColumns()

            '結果ファイルを保存する
            workbook.SaveToFile("ApplySubscriptAndSuperscript.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 を使用して Excel でテキストの配置と方向を設定する方法について説明します。

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

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

PM> Install-Package Spire.XLS

Excel でテキストの配置と方向を設定する

CellRange.Style.HorizontalAlignment プロパティまたは CellRange.Style.VerticalAlignment プロパティを使用して、セルまたはセル範囲のテキストの水平または垂直方向の配置を設定することができます。さらに、CellRange.Style.Rotation プロパティを使用して、回転値を指定することで、テキストの方向を変更することもできます。以下は詳細な手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[int index] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.Range[string name] プロパティを使用してワークシート内の特定のセルにアクセスし、CellRange.Style.HorizontalAlignment プロパティを使用して、そのセル内のテキストの水平方向の配置を設定します。
  • Worksheet.Range[string name] プロパティを使用してワークシート内の特定のセルにアクセスし、CellRange.Style.VerticalAlignment プロパティを使用して、そのセル内のテキストの垂直方向の配置を設定します。
  • Worksheet.Range[string name] プロパティを使用してワークシート内の特定のセルにアクセスし、CellRange.Style.Rotation プロパティを使用してテキストの方向を変更します。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
  • VB.NET
using Spire.Xls;

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

            //Excelファイルを読み込む
            workbook.LoadFromFile(@"Sample.xlsx");

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

            //B1のテキストの水平方向を「左揃え」に設定する
            sheet.Range["B1"].Style.HorizontalAlignment = HorizontalAlignType.Left;

            //B2のテキストの水平方向を「中央揃え」に設定する
            sheet.Range["B2"].Style.HorizontalAlignment = HorizontalAlignType.Center;

            //B3のテキストの水平方向を「右揃え」に設定する
            sheet.Range["B3"].Style.HorizontalAlignment = HorizontalAlignType.Right;

            //B4のテキストの水平方向を「標準」に設定する
            sheet.Range["B4"].Style.HorizontalAlignment = HorizontalAlignType.General;

            //B5のテキストの垂直方向を「上揃え」に設定する
            sheet.Range["B5"].Style.VerticalAlignment = VerticalAlignType.Top;

            //B6のテキストの垂直方向を「中央揃え」に設定する
            sheet.Range["B6"].Style.VerticalAlignment = VerticalAlignType.Center;

            //B7のテキストの垂直方向を「下揃え」に設定する
            sheet.Range["B7"].Style.VerticalAlignment = VerticalAlignType.Bottom;          

            //回転値を入力して、特定のセルのテキストの方向を変更する
            sheet.Range["B8"].Style.Rotation = 45;
            sheet.Range["B9"].Style.Rotation = 90;

            //特定のセルの行の高さを設定する
            sheet.Range["B8:C9"].RowHeight = 35;

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

Namespace TextAlignmentAndRotation
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook = New Workbook()

            'Excelファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx")

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

            'B1のテキストの水平方向を「左揃え」に設定する 
            sheet.Range("B1").Style.HorizontalAlignment = HorizontalAlignType.Left

            'B2のテキストの水平方向を「中央揃え」に設定する
            sheet.Range("B2").Style.HorizontalAlignment = HorizontalAlignType.Center

            'B3のテキストの水平方向を「右揃え」に設定する
            sheet.Range("B3").Style.HorizontalAlignment = HorizontalAlignType.Right

            'B4のテキストの水平方向を「標準」に設定する
            sheet.Range("B4").Style.HorizontalAlignment = HorizontalAlignType.General

            'B5のテキストの垂直方向を「上揃え」に設定する
            sheet.Range("B5").Style.VerticalAlignment = VerticalAlignType.Top

            'B6のテキストの垂直方向を「中央揃え」に設定する
            sheet.Range("B6").Style.VerticalAlignment = VerticalAlignType.Center

            'B7のテキストの垂直方向を「下揃え」に設定する
            sheet.Range("B7").Style.VerticalAlignment = VerticalAlignType.Bottom

            '回転値を入力して、特定のセルのテキストの方向を変更する
            sheet.Range("B8").Style.Rotation = 45
            sheet.Range("B9").Style.Rotation = 90

            '特定のセルの行の高さを設定する
            sheet.Range("B8:C9").RowHeight = 35

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

C#/VB.NET:EXCEL でテキストの配置と方向を設定する方法

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

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

Published in データ
Tagged under

Excel の「検索と置換」機能は、大規模な 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 でワークシート内のデータを検索して置換する

Spire.XLS for.NET には、Worksheet.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドが用意されており、Excel で特定の数値を含むセルを検索できます。その後、CellRange.Text プロパティを使用して値を更新します。具体的な手順は次のとおりです。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile(string fileName) メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[int index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドを使用して、ワークシート内の特定の値を含むセルを検索します。
  • 見つかったセルをループします。
  • CellRange.Text プロパティを使用して、各セルの値を更新します。
  • CellRange.Style.Color プロパティを使用して、更新されたセルの背景を設定します。
  • Workbook.SaveToFile(string fileName, ExcelVersion version) メソッドを使用して、結果ファイルを特定の場所に保存します。
  • C#
  • VB.NET
using Spire.Xls;
using System.Drawing;

namespace ReplaceDataInWorksheet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのインスタンスを初期化する
            Workbook workbook = new Workbook();
            //Excelファイルを読み込む
            workbook.LoadFromFile(@"Sample.xlsx");

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

            //ワークシート内の特定の文字列値「総額」を持つセルを検索する
            CellRange[] cells = worksheet.FindAllString("総額", true, true);

            //見つかったセルをループする
            foreach (CellRange cell in cells)
            {
                //セルの値を別の値に置き換える
                cell.Text = "差額";
                //セルの背景色を設定する
                cell.Style.Color = Color.Yellow;
            }

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

Namespace ReplaceDataInWorksheet
    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)

            'ワークシート内の特定の文字列値「総額」を持つセルを検索する
            Dim cells As CellRange() = worksheet.FindAllString("総額", True, True)

            '見つかったセルをループし、セルの値を別の値に置き換える
            For Each cell As CellRange In cells
                'Replace the value of the cell with another value
                cell.Text = "差額"
                'セルの背景色を設定する
                cell.Style.Color = Color.Yellow
            Next

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

C#/VB.NET:Excel でデータを検索して置換する方法

Excel で特定のセル範囲のデータを検索して置換する

CellRange.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドを使用して、特定の値を含むセルをセル範囲で検索できます。その後、CellRange.Text プロパティを使用して、以前の値を別の値に置き換えます。具体的な手順は次のとおりです。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile(string fileName) メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[int index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.Range[string rangeName] プロパティを使用して、ワークシートの特定のセル範囲を取得します。
  • CellRange.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドを使用して、セル範囲内の特定の値を持つセルを検索します。
  • 見つかったセルをループします。
  • CellRange.Text プロパティを使用して、見つかった各セルの値を別の値に置き換えます。
  • CellRange.Style.Color プロパティを使用して、更新されたセルの背景を設定します。
  • Workbook.SaveToFile(string fileName, ExcelVersion version) メソッドを使用して、結果ファイルを特定の場所に保存します。
  • C#
  • VB.NET
using Spire.Xls;
using System.Drawing;

namespace ReplaceDataInCellRange
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのインスタンスを初期化する
            Workbook workbook = new Workbook();
            //Excelファイルを読み込む
            workbook.LoadFromFile(@"Sample.xlsx");

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

            //特定のセル範囲を取得する
            CellRange range = worksheet.Range["A3:A5"];            

            //特定の値「総額」を持つセルをセル範囲で検索する
            CellRange[] cells = range.FindAllString("総額", true, true);

            //見つかったセルをループする
            foreach (CellRange cell in cells)
            {
                //セルの値を別の値に置き換える
                cell.Text = "差額";
                //セルの背景色を設定する
                cell.Style.Color = Color.Yellow;
            }

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

Namespace ReplaceDataInCellRange
    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)

            '特定のセル範囲を取得する
            Dim range As CellRange = worksheet.Range("A3:A5")

            '特定の値「総額」を持つセルをセル範囲で検索する
            Dim cells As CellRange() = range.FindAllString("総額", True, True)

            '見つかったセルをループする
            For Each cell As CellRange In cells
                'セルの値を別の値に置き換える
                cell.Text = "差額"
                'セルの背景色を設定する
                cell.Style.Color = Color.Yellow
            Next

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

C#/VB.NET:Excel でデータを検索して置換する方法

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

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

Published in データ
Tagged under

Excel のスプレッドシートは、データを整理し計算するために使用されるグリッドベースの拡張可能なファイルです。人々はビジネスや個人の必要に応じてスプレッドシートを作成することがよくあります。Excel のスプレッドシートにデータを書き込むためには、プログラミング手法を使用することをお勧めします。これにより時間を節約でき、誤りを避けることができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel 文書を作成しExcel のシートにデータを書き込む方法を紹介します。

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

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

PM> Install-Package Spire.XLS

セルにテキストまたは数値を書き込む

ワークシート内の特定のセルには、Worksheet.Range[int row, int column] プロパティでアクセスできます。次に、XlsRange.Value または XlsRange.Value2 プロパティを使用して、テキスト値または数値をセルに追加できます。詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets[] プロパティを使用して最初のシートを取得します。
  • Workhseet.Range[] プロパティを使用して特定のセルを取得します。
  • XlsRange.Value または XlsRange.Value2 メソッド を使用して、指定したセルにテキスト値または数値を追加します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを Excel ファイルに保存します。
  • C#
  • VB.NET
using Spire.Xls;

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

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

            //指定したセルにデータを書き込む
            worksheet.Range[1, 1].Value = "名前";
            worksheet.Range[1, 2].Value = "年齢";
            worksheet.Range[1, 3].Value = "部門";
            worksheet.Range[1, 4].Value = "雇用日";
            worksheet.Range[2, 1].Value = "中村";
            worksheet.Range[2, 2].Value2 = 29;
            worksheet.Range[2, 3].Value = "研究部門";
            worksheet.Range[2, 4].Value = "2019-07-01";
            worksheet.Range[3, 1].Value = "田中";
            worksheet.Range[3, 2].Value2 = 31;
            worksheet.Range[3, 3].Value = "生産部門";
            worksheet.Range[3, 4].Value = "2015-04-27";

            //列幅を自動調整する
            worksheet.AllocatedRange.AutoFitColumns();

            //最初の行にスタイルを適用する
            CellStyle style = workbook.Styles.Add("newStyle");
            style.Font.IsBold = true;
            worksheet.Range[1, 1, 1, 4].Style = style;

            //ファイルに保存する
            workbook.SaveToFile("WriteToCells.xlsx", ExcelVersion.Version2016);
        }
    }
}
Imports Spire.Xls
 
Namespace WriteDataToCells
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            '最初のシートを取得する
            Dim worksheet As Worksheet =  workbook.Worksheets(0) 
 
            '指定したセルにデータを書き込む
            worksheet.Range(1, 1).Value = "名前"
            worksheet.Range(1, 2).Value = "年齢"
            worksheet.Range(1, 3).Value = "部門"
            worksheet.Range(1, 4).Value = "雇用日"
            worksheet.Range(2, 1).Value = "中村"
            worksheet.Range(2, 2).Value2 = 29
            worksheet.Range(2, 3).Value = "研究部門"
            worksheet.Range(2, 4).Value = "2019-07-01"
            worksheet.Range(3, 1).Value = "田中"
            worksheet.Range(3, 2).Value2 = 31
            worksheet.Range(3, 3).Value = "生産部門"
            worksheet.Range(3, 4).Value = "2015-04-27"
 
            '列幅を自動調整する
            worksheet.AllocatedRange.AutoFitColumns()
 
            '最初の行にスタイルを適用する
            Dim style As CellStyle =  workbook.Styles.Add("newStyle") 
            style.Font.IsBold = True
            worksheet.Range(1, 1, 1, 4).Style = style
 
            'ファイルに保存する
            workbook.SaveToFile("WriteToCells.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel のワークシートにデータを書き込む

ワークシートに配列を書き込む

Spire.XLS for .NET には Worksheet.InsertArrary() メソッドが用意されており、プログラマはワークシートの指定されたセル範囲に1次元配列または2次元配列を書き込むことができます。ワークシートに配列を書き込む手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets[] プロパティを使用して最初のシートを取得します。
  • 1次元配列と2次元配列を作成します。
  • Worksheet.InsertArray() メソッドを使用して配列をシートに挿入します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを Excel ファイルに保存します。
  • C#
  • VB.NET
using Spire.Xls;

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

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

            //1次元配列を作成する
            string[] oneDimensionalArray = new string[] { "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日" };

            //シートの最初の行に配列を書き込む
            worksheet.InsertArray(oneDimensionalArray, 1, 1, false);

            //2次元配列を作成する
            string[,] twoDimensionalArray = new string[,]{

                {"名前", "年齢", "性別", "部門", "電話番号"},
                {"中村", "25", "男性", "研究部門","654214"},
                {"田中", "24", "女性", "生産部門","624847"},
                {"小林", "26", "女性", "営業部門","624758"}
            };

            //セルA 3からシートに配列を書き込む
            worksheet.InsertArray(twoDimensionalArray, 3, 1);

            //特定のセル範囲の列幅を自動的に調整する
            worksheet.AllocatedRange.AutoFitColumns();

            //1行目と3行目にスタイルを適用する
            CellStyle style = workbook.Styles.Add("newStyle");
            style.Font.IsBold = true;
            worksheet.Range[1, 1, 1, 6].Style = style;
            worksheet.Range[3, 1, 3, 6].Style = style;

            //ファイルに保存する
            workbook.SaveToFile("InsertArrays.xlsx", ExcelVersion.Version2016);
        }
    }
}
Imports Spire.Xls
 
Namespace WriteArraysToWorksheet
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            '最初のシートを取得する
            Dim worksheet As Worksheet =  workbook.Worksheets(0) 

            '1次元配列を作成する
            Dim oneDimensionalArray() As String =  New String() { "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"}

            'シートの最初の行に配列を書き込む
            worksheet.InsertArray(oneDimensionalArray, 1, 1, False)

            '2次元配列を作成する
            Dim twoDimensionalArray(,) As String =  New String(,) { 

		{"名前", "年齢", "性別", "部門", "電話番号"},
                {"中村", "25", "男性", "研究部門","654214"},
                {"田中", "24", "女性", "生産部門","624847"},
                {"小林", "26", "女性", "営業部門","624758" }
            }

            'セルA 3からシートに配列を書き込む
            worksheet.InsertArray(twoDimensionalArray, 3, 1)
 
            '特定のセル範囲の列幅を自動的に調整する
            worksheet.AllocatedRange.AutoFitColumns()
 
            '1行目と3行目にスタイルを適用する
            Dim style As CellStyle =  workbook.Styles.Add("newStyle") 
            style.Font.IsBold = True
            worksheet.Range(1, 1, 1, 6).Style = style
            worksheet.Range(3, 1, 3, 6).Style = style
 
            'ファイルに保存する
            workbook.SaveToFile("InsertArrays.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel のワークシートにデータを書き込む

ワークシートにデータテーブルを書き込む

DataTable からシートにデータをインポートするには、Worksheet.InsertDataTable() メソッドを使用します。詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets[] プロパティを使用して、最初のシート取得します。
  • ランダム データを含む DataTable を作成します。
  • Worksheet.InsertDataTable() メソッドを使用して、シートの指定された位置に DataTable を書き込みます。
  • Workbook.SaveToFile() メソッドを使用してワークブックを Excel ファイルに保存します。
  • C#
  • VB.NET
using System;
using System.Data;
using Spire.Xls;

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

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

            //DataTableオブジェクトを作成する
            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("スキュー", typeof(Int32));
            dataTable.Columns.Add("製品", typeof(String));
            dataTable.Columns.Add("価格", typeof(String));

            //行を作成してデータを追加する
            DataRow dr = dataTable.NewRow();
            dr[0] = 512900512;
            dr[1] = "ワイヤレスマウス";
            dr[2] = "$85";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 512900637;
            dr[1] = "キーボード";
            dr[2] = "$99";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 512901829;
            dr[1] = "Bluetoothスピーカー";
            dr[2] = "$125";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 512900386;
            dr[1] = "USBメモリ";
            dr[2] = "$89";
            dataTable.Rows.Add(dr);

            //シートにデータテーブルを書き込む
            worksheet.InsertDataTable(dataTable, true, 1, 1, true);

            //特定のセル範囲の列幅を自動的に調整する
            worksheet.AllocatedRange.AutoFitColumns();

            //1行目と3行目にスタイルを適用する
            CellStyle style = workbook.Styles.Add("newStyle");
            style.Font.IsBold = true;
            worksheet.Range[1, 1, 1, 3].Style = style;

            //ファイルに保存する
            workbook.SaveToFile("InsertDataTable.xlsx", ExcelVersion.Version2016);
        }
    }
}
Imports System
Imports System.Data
Imports Spire.Xls
 
Namespace WriteDataTableToWorksheet
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            '最初のシートを取得する
            Dim worksheet As Worksheet =  workbook.Worksheets(0) 
 
            'DataTableオブジェクトを作成する
            Dim dataTable As DataTable =  New DataTable() 
            dataTable.Columns.Add("スキュー", Type.GetType(Int32))
            dataTable.Columns.Add("製品", Type.GetType(String))
            dataTable.Columns.Add("価格", Type.GetType(String))
 
            '行を作成してデータを追加する
            Dim dr As DataRow =  dataTable.NewRow() 
            dr(0) = 512900512
            dr(1) = "ワイヤレスマウス"
            dr(2) = "$85"
            dataTable.Rows.Add(dr)
 
            dr = dataTable.NewRow()
            dr(0) = 512900637
            dr(1) = "キーボード"
            dr(2) = "$99"
            dataTable.Rows.Add(dr)
 
            dr = dataTable.NewRow()
            dr(0) = 512901829
            dr(1) = "Bluetoothスピーカー"
            dr(2) = "$125"
            dataTable.Rows.Add(dr)
 
            dr = dataTable.NewRow()
            dr(0) = 512900386
            dr(1) = "USBメモリ"
            dr(2) = "$89"
            dataTable.Rows.Add(dr)
 
            'シートにデータテーブルを書き込む
            worksheet.InsertDataTable(dataTable, True, 1, 1, True)
 
            '特定のセル範囲の列幅を自動的に調整する
            worksheet.AllocatedRange.AutoFitColumns()
 
            '1行目と3行目にスタイルを適用する
            Dim style As CellStyle =  workbook.Styles.Add("newStyle") 
            style.Font.IsBold = True
            worksheet.Range(1, 1, 1, 3).Style = style
 
            'ファイルに保存する
            workbook.SaveToFile("InsertDataTable.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel のワークシートにデータを書き込む

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

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

Published in データ
Tagged under

Excel の検索機能は、指定したデータを素早く探し出すために最もよく使われる機能の1つであり、ユーザーはデータをより分かりやすくするためにハイライト表示することもできます。特にデータ量が多いワークシートは、ユーザーが重要な内容を探し出すことが難しくなります。そこで、重要なデータにはハイライト表示を行い、一目で分かるようにする必要があります。この記事では、Spire.XLS for .NET を使用して、プログラム的に特定の値を持つセルを検索し、ハイライトする方法について説明します。

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

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

PM> Install-Package Spire.XLS

ワークシートのデータを検索して強調表示する

ワークシートのデータをハイライト表示するためには、Worksheet.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドで一致するデータをすべて検索し、CellRange.Style.Color プロパティを使ってハイライト色を設定する必要があります。

詳細な手順は次のとおりです。

  • Workbook クラスのインスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • Workbook.Worksheets[sheetIndex] プロパティを使って、指定したワークシートを取得します。
  • Worksheet.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドで、一致するテキストがあるセルをすべて検索しています。
  • CellRange.Style.Color プロパティを使って、セルを強調する色を設定します。
  • Workbook.SaveToFile() メソッドを使用して、結果ファイルを保存します。
  • C#
  • VB.NET
using Spire.Xls;
using System.Drawing;

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

            //Excelファイルを読み込む
            workbook.LoadFromFile("C:/Sample.xlsx");

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

            //テキスト「制御システム」を含むすべてのセルを検索する
            foreach (CellRange range in sheet.FindAllString("制御システム", true, true))
            {
                //セルを強調するための色を設定する
                range.Style.Color = Color.Yellow;
            }

            //結果ファイルを保存する
            workbook.SaveToFile("データの検索とハイライト表示.xlsx", ExcelVersion.Version2016);
        }
    }
}
Imports Spire.Xls
Imports System.Drawing

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

            'Excelファイルを読み込む
            workbook.LoadFromFile("C:/Sample.xlsx")

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

            'テキスト「制御システム」を含むすべてのセルを検索する
            Dim range As CellRange
            For Each range In sheet.FindAllString("制御システム", True, True)
                'セルを強調するための色を設定する
                range.Style.Color = Color.Yellow
            Next

            '結果ファイルを保存する
            workbook.SaveToFile("データの検索とハイライト表示.xlsx", ExcelVersion.Version2016)
        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

Excel で行と列をグループ化する

詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用してサンプルドキュメントをロードします。
  • 指定したワークシートを Workbook.Worksheets[index] プロパティで取得します。
  • Worksheet.GroupByRows() メソッドを使用して行をグループ化します。
  • Worksheet.GroupByColumns() メソッドを使用して列をグループ化します。
  • Workbook.SaveToFile() メソッドを使用して、結果を別の Excel ドキュメントに保存します。
  • C#
  • VB.NET
using Spire.Xls;

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

            //サンプルドキュメントをロードする
            workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

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

            //行をグループ化する
            sheet.GroupByRows(2, 5, false);
            sheet.GroupByRows(7, 10, false);

            //列をグループ化する
            sheet.GroupByColumns(5, 6, false);

            //結果を別のExcelドキュメントに保存する
            workbook.SaveToFile("GroupRowsAndColumns.xlsx", ExcelVersion.Version2016);
        }
    }
}
Imports Spire.Xls
 
Namespace GroupRowsAndColumns
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            'サンプルドキュメントをロードする
            workbook.LoadFromFile("C:\Users\Administrator\Desktop\sample.xlsx")
 
            '最初のシートを取得する
            Dim sheet As Worksheet =  workbook.Worksheets(0) 
 
            '行をグループ化する
            sheet.GroupByRows(2, 5, False)
            sheet.GroupByRows(7, 10, False)
 
            '列をグループ化する
            sheet.GroupByColumns(5, 6, False)
 
            '結果を別のExcelドキュメントに保存する
            workbook.SaveToFile("GroupRowsAndColumns.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel で行と列のグループ化とグループ削除の方法

Excel で行と列のグループを削除する

詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用してサンプルドキュメントをロードします。
  • 指定したワークシートを Workbook.Worksheets[index] プロパティで取得します。
  • Worksheet.UngroupByRows() メソッドを使用して行のグループを削除します。
  • Worksheet.UngroupByColumns() メソッドを使用して列のグループを削除します。
  • Workbook.SaveToFile() メソッドを使用して、結果を別の Excel ドキュメントに保存します。
  • C#
  • VB.NET
using Spire.Xls;

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

            //サンプルドキュメントをロードする
            workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

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

            //行のグループを削除する
            sheet.UngroupByRows(2, 5);
            sheet.UngroupByRows(7, 10);

            //列のグループを削除する
            sheet.UngroupByColumns(5, 6);

            //結果を別のExcelドキュメントに保存する
            workbook.SaveToFile("UngroupRowsAndColumns.xlsx", ExcelVersion.Version2016);
        }
    }
}
Imports Spire.Xls
 
Namespace UngroupRowsAndColumns
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            'サンプルドキュメントをロードする
            workbook.LoadFromFile("C:\Users\Administrator\Desktop\sample.xlsx")
 
            '最初のシートを取得する
            Dim sheet As Worksheet =  workbook.Worksheets(0) 
 
            '行のグループを削除する
            sheet.UngroupByRows(2, 5)
            sheet.UngroupByRows(7, 10)
 
            '列のグループを削除する
            sheet.UngroupByColumns(5, 6)
 
            '結果を別のExcelドキュメントに保存する
            workbook.SaveToFile("UngroupRowsAndColumns.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel で行と列のグループ化とグループ削除の方法

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

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

Published in データ
Tagged under