チュートリアル

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

チュートリアル»xlsnetdocumentoperation

Displaying items by tag: xlsnetdocumentoperation

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

Excel ファイルを動的に作成し、ストリームに保存

Spire.XLS for .NET を使用すると、開発者は Workbook オブジェクトを初期化し、データやフォーマットを埋め込んでから、Workbook.SaveToStream() メソッドを使用してワークブックをストリームに保存することで、メモリ内で Excel ファイルを動的に作成できます。この方法では、物理的なファイルストレージが不要になり、アプリケーションのパフォーマンスと応答性が向上します。

以下は、C# で Excel ファイルを作成し、ストリームに保存する手順です:

  • Workbook クラスのインスタンスを作成して新しい Excel ワークブックを生成します(デフォルトで 3 つのワークシートが含まれます)。
  • Workbook.Worksheets[] プロパティを使用して特定のワークシートを取得します。
  • DataTable を使用してデータを整理し、ワークシートに書き込むデータを定義します。
  • Worksheet.InsertDataTable() メソッドまたは Worksheet.Range[].Value プロパティを使用してデータをワークシートに挿入します。
  • 必要に応じてセルのフォーマット(色、フォント、罫線など)を適用し、列幅を調整します。
  • Workbook.SaveToStream() メソッドを使用してワークブックをメモリストリームに保存します。そのストリームを使用してファイルに保存したり、ネットワーク経由で送信することが可能です。
  • C#
using Spire.Xls;
using System.Data;
using System.Drawing;

namespace CreateExcelStream
{
    class Program
    {
        static void Main(string[] args)
        {
            // 新しいワークブックインスタンスを作成
            Workbook workbook = new Workbook();

            // ワークブックの最初のワークシートにアクセス
            Worksheet sheet = workbook.Worksheets[0];

            // サンプルデータを含むDataTableを作成してデータを追加
            DataTable dataTable = new DataTable("データ");
            dataTable.Columns.Add("ID", typeof(int));
            dataTable.Columns.Add("名前", typeof(string));
            dataTable.Columns.Add("年齢", typeof(int));
            dataTable.Columns.Add("国", typeof(string));
            dataTable.Columns.Add("給与 ($)", typeof(decimal));
            dataTable.Rows.Add(101, "ジョン・スミス", 28, "アメリカ", 54000m);
            dataTable.Rows.Add(102, "マリア・ガルシア", 34, "日本", 65500m);
            dataTable.Rows.Add(103, "リアム・ジョンソン", 22, "カナダ", 48000m);
            dataTable.Rows.Add(104, "エマ・ブラウン", 30, "オーストラリア", 72300m);
            dataTable.Rows.Add(105, "ウェイ・チャン", 40, "中国", 58700m);
            dataTable.Rows.Add(106, "ソフィア・ロペス", 26, "メキシコ", 45200m);

            // DataTableからワークシートにデータを挿入
            sheet.InsertDataTable(dataTable, true, 1, 1);

            // ワークシートをフォーマット
            // ヘッダー行をスタイル設定
            sheet.Rows[0].Style.Color = Color.LightSkyBlue;
            sheet.Rows[0].Style.Font.FontName = "Yu Gothic UI";
            sheet.Rows[0].Style.Font.Size = 12f;
            sheet.Rows[0].BorderAround(); // ヘッダー行に外枠を追加
            sheet.Rows[0].Borders.Color = Color.LightSteelBlue; // 枠線の色を設定

            // データ行をスタイル設定
            for (int i = 1; i < sheet.AllocatedRange.Rows.Count(); i++)
            {
                sheet.Rows[i].Style.Color = Color.LightGray;
                sheet.Rows[i].Style.Font.FontName = "Yu Gothic UI";
                sheet.Rows[i].Style.Font.Size = 11f;
            }
            sheet.Range[2, 1, sheet.Rows.Count(), sheet.Columns.Count()].BorderInside(); // データ行に内枠を追加
            sheet.Range[2, 1, sheet.Rows.Count(), sheet.Columns.Count()].Borders.Color = Color.LightSteelBlue; // 枠線の色を設定

            // 列幅を内容に合わせて調整
            for (int j = 1; j <= sheet.AllocatedRange.Columns.Count(); j++)
            {
                sheet.AutoFitColumn(j);
            }

            // ワークブックをメモリストリームに保存
            MemoryStream stream = new MemoryStream();
            workbook.SaveToStream(stream, FileFormat.Version2016);

            // ストリームの内容をファイルに書き込む
            File.WriteAllBytes("output/ストリームでExcelファイルを作成.xlsx", stream.ToArray());

            // リソースを解放
            workbook.Dispose();
        }
    }
}

C# コードで Excel ファイルを作成し、ストリームに保存

C# でストリームから Excel ファイルを読み込む

Spire.XLS for .NET を使用すると、Workbook.LoadFromStream() メソッドで直接ストリームから Excel ファイルを読み込むことができます。ファイルが読み込まれると、開発者はセルデータに簡単にアクセスでき、ファイル I/O 操作を必要とせずにメモリの使用効率を最適化し、迅速かつ柔軟にデータ処理を行えます。

C# でストリームから Excel ファイルを読み込み、データを取得する手順は次の通りです:

  • Workbook インスタンスを作成します。
  • MemoryStream または FileStream オブジェクトを作成します。
  • Workbook.LoadFromStream() メソッドを使用して、ストリームから Excel ファイルをワークブックに読み込みます。
  • Workbook.Worksheets[] プロパティを使用して最初のワークシートを取得します。
  • ワークシートの行と列をループして、セルのデータを Worksheet.AllocatedRange[].Value プロパティで抽出します。
  • 取得したデータを表示するか、他の操作に使用します。
  • C#
using Spire.Xls;

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

            // メモリストリームを作成
            MemoryStream stream = new MemoryStream();
            File.OpenRead("Sample.xlsx").CopyTo(stream);

            // ストリームからExcelファイルを読み込む
            workbook.LoadFromStream(stream);

            // ワークブック内の最初のワークシートにアクセス
            Worksheet sheet = workbook.Worksheets[0];

            // ワークシートから取得したデータを格納するリストを初期化
            List<List<string>> data = new List<List<string>>();
            for (int i = 0; i < sheet.AllocatedRange.Rows.Count(); i++)
            {
                // 各行のデータを保持するリストを作成
                List<string> lines = new List<string>();
                for (int j = 0; j < sheet.AllocatedRange.Columns.Count(); j++)
                {
                    // セルのテキストを取得して行に追加
                    lines.Add(sheet.AllocatedRange[i + 1, j + 1].Value);
                }
                // 行をデータリストに追加
                data.Add(lines);
            }

            // 取得したデータを出力するか、他の操作に利用
            foreach (List<string> lines in data)
            {
                Console.WriteLine(string.Join(" | ", lines));
            }
        }
    }
}

Spire.XLS で Excel ファイルを読み込み、データを取得

C# でストリーム内で Excel ファイルを編集する

Spire.XLS for .NET を使用すると、Excel ファイルをメモリ内で編集できます。最初にファイルを Workbook オブジェクトに読み込んでから、セルの値やフォーマットを変更し、変更後のファイルをストリームに保存することができます。この方法により、物理的なストレージを使用せずにシームレスなリアルタイムの変更が可能です。

C# でストリーム内の Excel ファイルを編集する手順は次の通りです:

  • Workbook インスタンスを作成します。
  • MemoryStream または FileStream インスタンスを作成します。
  • Workbook.LoadFromStream() メソッドを使用して、ストリームから Excel ファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使用して最初のワークシートにアクセスします。
  • セル範囲の Style プロパティを使用して、ヘッダー行やデータ行のフォント、サイズ、背景色などを変更します。
  • Worksheet.AutoFitColumn() メソッドを使用して、内容に合わせて列幅を自動調整します。
  • Workbook.SaveToStream() メソッドを使用して変更をストリームに保存します。
  • C#
using Spire.Xls;
using System.Drawing;

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

            // メモリストリームを作成
            MemoryStream stream = new MemoryStream();
            File.OpenRead("Sample.xlsx").CopyTo(stream);

            // ストリームからExcelファイルを読み込む
            workbook.LoadFromStream(stream);

            // ワークブック内の最初のワークシートにアクセス
            Worksheet sheet = workbook.Worksheets[0];

            // ヘッダー行のスタイルを変更
            CellRange headerRow = sheet.AllocatedRange.Rows[0];
            headerRow.Style.Font.FontName = "Yu Gothic UI";
            headerRow.Style.Font.Size = 12f;
            headerRow.Style.Color = Color.LightBlue;

            // データ行のスタイルを変更
            for (int i = 1; i < sheet.AllocatedRange.Rows.Count(); i++)
            {
                CellRange dataRow = sheet.AllocatedRange.Rows[i];
                dataRow.Style.Font.FontName = "Yu Mincho";
                dataRow.Style.Font.Size = 10f;
                dataRow.Style.Color = Color.LightGray;
                // 行ごとに交互の色を付ける(偶数行)
                if (i % 2 == 0)
                {
                    dataRow.Style.Color = Color.LightSlateGray;
                }
            }

            // 列の幅をコンテンツに基づいて自動調整
            for (int k = 1; k <= sheet.AllocatedRange.Columns.Count(); k++)
            {
                sheet.AutoFitColumn(k);
            }

            // 枠線の色を変更
            sheet.AllocatedRange.Style.Borders.Color = Color.White;

            // 修正したワークブックをストリームに保存
            workbook.SaveToStream(stream);

            // ストリームの内容を新しいファイルに書き込む
            File.WriteAllBytes("output/ストリームでExcelファイルを修正.xlsx", stream.ToArray());

            // リソースを解放
            workbook.Dispose();
        }
    }
}

.NETを使ったストリームでのExcelファイルの修正

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

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

Published in 文書操作

Excel 文書は簡単に印刷できますが、特別な印刷要件がある場合は少し複雑になることがあります。たとえば、シートの選択範囲のみを印刷する、各ページにヘッダー行を繰り返す、またはワークシートを 1 ページに収めるなどです。この記事では、Spire.XLS for .NET を使用して、C# で Excel 文書の印刷オプションを設定する方法と、Excel 文書をプリンターに送信する方法について説明します。

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

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

PM> Install-Package Spire.XLS

C# で Excel 文書の印刷オプションを設定する

Excel ワークシートのページ設定は、ワークシートの印刷方法を制御するためのオプションを提供します。これには、コメントの印刷の有無、グリッドラインの印刷、印刷するセル範囲の指定が含まれます。Spire.XLS は、これらの設定を管理するための PageSetup オブジェクトを提供します。以下は、Spire.XLS for .NET を使用して PageSetup を通じて Excel の印刷オプションを設定する手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを通じて PageSetup オブジェクトを取得します。
  • PageSetup オブジェクトのプロパティを使用して、ページの余白、印刷範囲、印刷タイトル行、印刷品質などを設定します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを保存します。
  • C#
using Spire.Xls;

namespace PrintOptions
{
    class Program
    {
        static void Main(string[] args)
        {
            // ワークブックを作成
            Workbook workbook = new Workbook();

            // Excel ドキュメントをロード
            workbook.LoadFromFile("Sample.xlsx");

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

            // 最初のワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = worksheet.PageSetup;

            // ページの余白を設定
            pageSetup.TopMargin = 0.3;
            pageSetup.BottomMargin = 0.3;
            pageSetup.LeftMargin = 0.3;
            pageSetup.RightMargin = 0.3;

            // 印刷範囲を指定
            pageSetup.PrintArea = "A1:D10";

            // タイトル行を指定
            pageSetup.PrintTitleRows = "$1:$2";

            // 行/列の見出しを印刷することを許可
            pageSetup.IsPrintHeadings = true;

            // グリッドラインを印刷することを許可
            pageSetup.IsPrintGridlines = true;

            // ワークシートに表示されているコメントを印刷することを許可
            pageSetup.PrintComments = PrintCommentType.InPlace;

            // 印刷品質を設定 (dpi)
            pageSetup.PrintQuality = 300;

            // 白黒モードでワークシートを印刷することを許可
            pageSetup.BlackAndWhite = true;

            // 印刷順序を設定
            pageSetup.Order = OrderType.OverThenDown;

            // ワークシートを1ページに収める
            pageSetup.IsFitToPage = true;

            // ワークブックを保存
            workbook.SaveToFile("output/Excelページ印刷設定.xlsx");
            workbook.Dispose();
        }
    }
}

C#:Excel ドキュメントを印刷する方法

C# で Excel 文書を印刷ダイアログで印刷する

印刷ダイアログボックスは、特定の印刷ジョブのオプションを選択するためにユーザーに提供されます。たとえば、ユーザーは使用するプリンターを指定できます。以下は、Spire.XLS for .NET を使用して Excel 文書を印刷ダイアログに送信する手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • PrintDialog オブジェクトを作成します。
  • PrintDialog オブジェクトのプロパティを使用してプリンター設定を指定します。
  • ワークブックに印刷ダイアログを適用します。
  • Workbook.PrintDocument プロパティを通じてワークブックから PrintDocument オブジェクトを取得します。
  • 印刷ダイアログを呼び出し、PrintDocument.Print() メソッドを使用して印刷を開始します。
  • C#
using System;
using Spire.Xls;
using System.Drawing.Printing;
using System.Windows.Forms;

namespace PrintExcelUsingPrintDialog
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // ワークブックオブジェクトを作成
            Workbook workbook = new Workbook();

            // Excelファイルをロード
            workbook.LoadFromFile("Sample.xlsx");

            // ワークシートを1ページに収める    
            PageSetup pageSetup = workbook.Worksheets[0].PageSetup;
            pageSetup.IsFitToPage = true;

            // PrintDialogオブジェクトを作成
            PrintDialog dialog = new PrintDialog();

            // プリンタ設定を指定
            dialog.AllowCurrentPage = true;
            dialog.AllowSomePages = true;
            dialog.AllowSelection = true;
            dialog.UseEXDialog = true;
            dialog.PrinterSettings.Duplex = Duplex.Simplex;

            // ダイアログをワークブックに適用
            workbook.PrintDialog = dialog;

            // ワークブックに基づいてPrintDocumentオブジェクトを作成
            PrintDocument printDocument = workbook.PrintDocument;

            // 印刷ダイアログを表示
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                printDocument.Print();
            }
        }
    }
}

C# で Excel 文書をサイレント印刷する

印刷ダイアログや印刷プロセスを表示したくない場合は、指定したプリンターに Excel 文書をサイレント印刷できます。以下はその手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • 印刷プロセスが表示されないように StandardPrintController に印刷コントローラーを設定します。
  • Workbook.PrintDocument.PrinterSettings プロパティを使用してワークブックから PrinterSettings オブジェクトを取得します。
  • PrinterSettings オブジェクトのプロパティを使用して、プリンター名、両面印刷モード、および印刷ページを指定します。
  • Workbook.PrintDocument.Print() メソッドを使用してワークブックを印刷します。
  • C#
using Spire.Xls;
using System.Drawing.Printing;

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

            // Excelファイルをロード
            workbook.LoadFromFile("Sample.xlsx");

            // ワークシートを1ページに収める    
            PageSetup pageSetup = workbook.Worksheets[0].PageSetup;
            pageSetup.IsFitToPage = true;

            // 印刷プロセスを表示しないようにStandardPrintControllerを設定
            workbook.PrintDocument.PrintController = new StandardPrintController();

            // ワークブックからPrinterSettingsを取得
            PrinterSettings settings = workbook.PrintDocument.PrinterSettings;

            // プリンタ名、両面印刷モード、および印刷ページを指定
            settings.PrinterName = "HP LaserJet P1007";
            settings.Duplex = Duplex.Simplex;
            settings.FromPage = 1;
            settings.ToPage = 3;

            // ワークブックを印刷
            workbook.PrintDocument.Print();
        }
    }
}

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

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

Published in 印刷

Excel スプレッドシートを印刷する際、特に複雑なデータセットや詳細なレポートを含む場合、ページ設定を適切に行うことが重要です。Excel のページ設定オプションを使用することで、ページの余白、向き、用紙サイズ、拡大縮小などの重要な要素を調整し、さまざまな印刷ニーズに合わせてドキュメントを最適化することができます。これにより、コンテンツが見栄え良く、プロフェッショナルに仕上がるように調整できます。本記事では、C# で Spire.XLS for .NET を使用して Excel ファイルのページ設定オプションを設定する方法を説明します。

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

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

PM> Install-Package Spire.XLS

C# で Excel ファイルのページ余白を設定する

Spire.XLS for .NET の PageSetup クラスは、Excel ワークシートのページ設定オプションを構成するために使用されます。ワークシートの PageSetup オブジェクトは、Worksheet.PageSetup プロパティを通じてアクセスできます。次に、PageSetup.TopMarginPageSetup.BottomMarginPageSetup.LeftMarginPageSetup.RightMarginPageSetup.HeaderMarginInchPageSetup.FooterMarginInch プロパティを使用して、ワークシートの余白を設定します。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.TopMarginPageSetup.BottomMarginPageSetup.LeftMarginPageSetup.RightMarginPageSetup.HeaderMarginInchPageSetup.FooterMarginInch プロパティを使用して余白を設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

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

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

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

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // ワークシートの上下左右のページ余白を設定
            // 単位はインチ (1 インチ = 2.54 cm)
            pageSetup.TopMargin = 1;
            pageSetup.BottomMargin = 1;
            pageSetup.LeftMargin = 1;
            pageSetup.RightMargin = 1;
            pageSetup.HeaderMarginInch = 1;
            pageSetup.FooterMarginInch = 1;

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/Excelのページ余白を設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

C# で Excel ファイルのページ向きを設定する

PageSetup.Orientation プロパティを使用すると、ページの印刷向きを設定できます。印刷向きは、縦向き(ポートレート)または横向き(ランドスケープ)から選択できます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.Orientation プロパティを使ってページの向きを設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

namespace SetPageOrientation
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // ページの向き
            // Workbook オブジェクトを作成
            Workbook workbook = new Workbook();

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

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

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // ワークシートを印刷する際のページの向きを横向きに設定
            pageSetup.Orientation = PageOrientationType.Landscape;

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/Excelのページの向きを設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

C# で Excel ファイルの用紙サイズを設定する

PageSetup.PaperSize プロパティを使用すると、ワークシートの印刷用紙サイズを選択できます。これには、A3、A4、A5、B4、B5、レター、リーガル、タブロイドなどのさまざまな用紙サイズが含まれます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.PaperSize プロパティを使って用紙サイズを設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

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

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

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

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // 用紙サイズを A4 に設定
            pageSetup.PaperSize = PaperSizeType.PaperA4;

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/Excelの用紙サイズを設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

C# で Excel ファイルの印刷範囲を設定する

PageSetup.PrintArea プロパティを使用して、印刷したい範囲を指定することができます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.PrintArea プロパティを使用して印刷範囲を設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

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

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

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

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // 印刷範囲を "A1:E5" に設定
            pageSetup.PrintArea = "A1:E5";

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/Excelの印刷領域を設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

C# で Excel ファイルの拡大縮小率を設定する

ワークシートの内容を元のサイズの特定の割合に拡大縮小する場合、PageSetup.Zoom プロパティを使用します。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.Zoom プロパティを使用して拡大縮小率を設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

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

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

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

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // ワークシートの拡大縮小率を 90% に設定
            pageSetup.Zoom = 90;

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/Excelの拡大縮小率を設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

C# で Excel ファイルのページフィットオプションを設定する

Spire.XLS を使用すると、PageSetup.FitToPagesTall および PageSetup.FitToPagesWide プロパティを使用して、ワークシートの内容を特定のページ数に合わせて印刷することができます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.FitToPagesTall および PageSetup.FitToPagesWide プロパティを使用して、ワークシートの内容を1ページに収めるように設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

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

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

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

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // ワークシートの内容を縦に 1 ページに収める
            pageSetup.FitToPagesTall = 1;
            // ワークシートの内容を横に 1 ページに収める
            pageSetup.FitToPagesWide = 1;

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/ページフィットオプションを設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

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

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

Published in 文書操作

Excel のドキュメントプロパティ(メタデータとしても知られています)は、Excel ファイルの内容や背景を理解するために重要です。これらは、ドキュメントの内容、作成者、作成・修正履歴などに関する有益な情報を提供し、ファイルの効率的な整理や検索を容易にします。本記事では、Excel にドキュメントプロパティを追加する方法に加え、C# で Spire.XLS for .NET を使用して Excel ワークブックからドキュメントプロパティを読み取る方法や削除する方法を説明します。

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

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

PM> Install-Package Spire.XLS

Excel ファイルのドキュメントプロパティを読み取る

Excel のプロパティは、主に次の2つのカテゴリに分けられます:

  • 標準プロパティ:これは Excel ファイルに組み込まれているあらかじめ定義されたプロパティです。通常、ファイルのタイトル、件名、作成者、キーワードなどの基本的な情報が含まれます。
  • カスタムプロパティ:これは、特定のニーズに基づいて追加できるユーザー定義の属性で、ファイルに関する追加情報を追跡するために使用されます。

Spire.XLS for .NET を使用すると、Excel ファイルの標準およびカスタムの両方のドキュメントプロパティを読み取ることができます。以下に詳細な手順を示します:

  • Workbook インスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • StringBuilder インスタンスを作成します。
  • Workbook.DocumentProperties プロパティを使用して、標準ドキュメントプロパティのコレクションを取得します。
  • BuiltInDocumentProperties クラスのプロパティを使用して、特定の標準プロパティを取得し、それらを StringBuilder インスタンスに追加します。
  • Workbook.CustomDocumentProperties プロパティを使用して、カスタムドキュメントプロパティのコレクションを取得します。
  • コレクションをループ処理します。
  • IDocumentProperty.Name および IDocumentProperty.Value プロパティを使用して、各カスタムドキュメントプロパティの名前と値を取得し、それらを StringBuilder インスタンスに追加します。
  • StringBuilder インスタンスの内容を txt ファイルに書き込みます。
  • C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core;
using System.Text;

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

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

            // StringBuilder のインスタンスを作成
            StringBuilder sb = new StringBuilder();

            // 標準プロパティのコレクションを取得
            BuiltInDocumentProperties standardProperties = wb.DocumentProperties;
            // 標準プロパティを取得し、StringBuilder インスタンスに追加
            sb.AppendLine("標準ドキュメント プロパティ:");
            sb.AppendLine("タイトル:" + standardProperties.Title);
            sb.AppendLine("サブタイトル:" + standardProperties.Subject);
            sb.AppendLine("作成者:" + standardProperties.Author);
            sb.AppendLine("管理者:" + standardProperties.Manager);
            sb.AppendLine("会社名:" + standardProperties.Company);
            sb.AppendLine("分類:" + standardProperties.Category);
            sb.AppendLine("キーワード:" + standardProperties.Keywords);
            sb.AppendLine("コメント:" + standardProperties.Comments);

            // カスタムプロパティのコレクションを取得
            ICustomDocumentProperties customProperties = wb.CustomDocumentProperties;
            sb.AppendLine("\r\nカスタム ドキュメント プロパティ:");
            // コレクションを反復処理
            for (int i = 0; i < customProperties.Count; i++)
            {
                // カスタムプロパティの名前と値を取得し、StringBuilder インスタンスに追加
                string name = customProperties[i].Name;
                string value = customProperties[i].Value.ToString();
                sb.AppendLine(name + ":" + value);
            }

            // 結果をテキストファイルに書き込む
            File.WriteAllText("output/Excelドキュメントのプロパティ.txt", sb.ToString());

            wb.Dispose();
        }
    }
}

C#:Excel ファイルから文書プロパティを読み取り、削除する方法

Excel ファイルのドキュメントプロパティを削除する

標準のドキュメントプロパティを削除するには、特定のプロパティの値を空に設定するだけで簡単に行えます。カスタムドキュメントプロパティの場合は、ICustomDocumentProperties.Remove() メソッドを使用して削除することができます。以下に詳細な手順を示します:

  • Workbook インスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用してサンプル Excel ファイルを読み込みます。
  • Workbook.DocumentProperties プロパティを使用して、標準ドキュメントプロパティのコレクションを取得します。
  • BuiltInDocumentProperties クラスの対応するプロパティを通じて、特定の標準ドキュメントプロパティの値を空に設定します。
  • Workbook.CustomDocumentProperties プロパティを使用して、カスタムドキュメントプロパティのコレクションを取得します。
  • コレクションをループ処理します。
  • ICustomDocumentProperties.Remove(string strName) メソッドを使用して、名前でカスタムプロパティをコレクションから削除します。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core;

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

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

            // 標準プロパティのコレクションを取得
            BuiltInDocumentProperties standardProperties = wb.DocumentProperties;

            // プロパティを空に設定して削除
            standardProperties.Title = "";
            standardProperties.Subject = "";
            standardProperties.Author = "";
            standardProperties.Manager = "";
            standardProperties.Company = "";
            standardProperties.Category = "";
            standardProperties.Keywords = "";
            standardProperties.Comments = "";

            // カスタムプロパティのコレクションを取得
            ICustomDocumentProperties customProperties = wb.CustomDocumentProperties;

            // カスタムプロパティをクリア
            customProperties.Clear();

            // ワークブックを保存
            wb.SaveToFile("output/Excelプロパティの削除.xlsx");

            wb.Dispose();
        }
    }
}

C#:Excel ファイルから文書プロパティを読み取り、削除する方法

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

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

Published in 文書操作

ドキュメントプロパティ、またはメタデータは、ドキュメントを記述する一連のデータです。Excel ファイルでは、著者、タイトル、キーワードなどの組み込みドキュメントプロパティを追加して、フォルダー内のドキュメントをすばやく見つけて識別することができます。また、カスタムプロパティを追加して、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 ファイルに組み込みのドキュメントプロパティを追加する

組み込みドキュメントプロパティは、タイトル、件名、著者、カテゴリなど、ドキュメントに関する基本情報です。これらのプロパティの名前は編集できませんが、Spire.XLS for .NET を使用してこれらのプロパティに特定の値を設定できます。以下は詳細な手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ドキュメントをロードします。
  • Workbook.DocumentProperties プロパティを使用して、ドキュメントの組み込みドキュメントプロパティを取得します。
  • BuiltInDocumentProperties クラスのプロパティを使用して、タイトル、著者、キーワード、コメントなどの特定のドキュメントプロパティを設定します。
  • Workbook.SaveToFile() メソッドを使用して結果のドキュメントを保存します。
  • C#
using Spire.Xls;

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

            //サンプルのExcelドキュメントを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            //Excelワークブックの組み込みドキュメントプロパティを設定
            workbook.DocumentProperties.Author = "E-iceblueチーム";
            workbook.DocumentProperties.Title = "Excelに組み込みドキュメントプロパティを追加";
            workbook.DocumentProperties.Keywords = "Excel, ドキュメントプロパティ, C#, VB.NET";
            workbook.DocumentProperties.Category = "Spire.XLSデモ";
            workbook.DocumentProperties.Company = "E-iceblue";
            workbook.DocumentProperties.Comments = "ドキュメントプロパティは、ファイルに関する詳細情報で、ファイルを説明または識別します。";

            //結果のドキュメントを保存
            workbook.SaveToFile("Excelの組み込みプロパティ.xlsx", FileFormat.Version2013);

            workbook.Dispose();
        }
    }
}

C#:Excel ファイルにドキュメントプロパティを追加する方法

Excel ファイルにカスタムのドキュメントプロパティを追加する

カスタムドキュメントプロパティは、Excel ドキュメントに対して定義できる追加のプロパティです。Spire.XLS for .NET を使用して、指定された名前と値でカスタムプロパティを追加できます。以下は詳細な手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ドキュメントをロードします。
  • Workbook.CustomDocumentProperties プロパティを使用して、ドキュメントのカスタムドキュメントプロパティを取得します。
  • ICustomDocumentProperties.Add() メソッドを使用して、さまざまなデータ型のカスタムドキュメントプロパティをドキュメントに追加します。
  • Workbook.SaveToFile() メソッドを使用して結果のドキュメントを保存します。
  • C#
using Spire.Xls;
using System;

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

            //サンプルのExcelドキュメントを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            //ドキュメントにカスタムドキュメントプロパティを追加
            workbook.CustomDocumentProperties.Add("_MarkAsFinal", true);
            workbook.CustomDocumentProperties.Add("編集者", "E-iceblue");
            workbook.CustomDocumentProperties.Add("電話番号", 12345678);
            workbook.CustomDocumentProperties.Add("ドキュメントID", 1);
            workbook.CustomDocumentProperties.Add("改訂日", DateTime.Now);

            //結果のドキュメントを保存
            workbook.SaveToFile("Excelのカスタムプロパティ.xlsx", FileFormat.Version2013);

            workbook.Dispose();
        }
    }
}

C#:Excel ファイルにドキュメントプロパティを追加する方法

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

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

Published in 文書操作

Excel スプレッドシートは、データを表形式で整理、分析、表示するために広く使用されているファイル形式です。プログラムで Excel ファイルと対話する能力は非常に価値があり、ソフトウェアアプリケーションに 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 ファイルを作成する方法

Spire.XLS for .NET は、Excel ドキュメントの作成と編集に使用できるさまざまなクラスとインターフェースを提供します。以下は、この記事に関係する重要なクラス、プロパティ、メソッドのリストです。

メンバー 説明
Workbook クラス Excel ワークブックモデルを表します。
Workbook.Worksheets.Add() メソッド ワークブックにワークシートを追加します。
Workbook.SaveToFile() メソッド ワークブックを Excel ドキュメントに保存します。
Worksheet クラス ワークブックのワークシートを表します。
Worksheet.Range プロパティ ワークシートから特定のセルまたはセル範囲を取得します。
Worksheet.Range.Value プロパティ セルの値を取得または設定します。
Worksheet.Rows プロパティ ワークシートの行のコレクションを取得します。
Worksheet.InsertDataTable() メソッド データテーブルからデータをワークシートにインポートします。
CellRange クラス ワークシートのセルまたはセル範囲を表します。

以下は、Spire.XLS for .NET を使用して Excel ドキュメントをゼロから作成する手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.Worksheets.Add() メソッドを使用してワークシートを追加します。
  • Worksheet.Range.Value プロパティを使って特定のセルにデータを書き込みます。
  • Worksheet.InsertDataTable() メソッドを使用して、DataTable からワークシートにデータをインポートします。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを Excel ドキュメントに保存します。
  • C#
using Spire.Xls;
using System.Data;

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

            //デフォルトのワークシートを削除する
            wb.Worksheets.Clear();

            //ワークシートを追加して「社員」と名付ける
            Worksheet sheet = wb.Worksheets.Add("社員");

            //A1からG1までのセルを結合する
            sheet.Range["A1:G1"].Merge();

            //A1にデータを書き込み、それにフォーマットを適用する
            sheet.Range["A1"].Value = "環宇自動車会社の従業員の基本情報";
            sheet.Range["A1"].HorizontalAlignment = HorizontalAlignType.Center;
            sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center;
            sheet.Range["A1"].Style.Font.FontName = "Yu Gothic UI";
            sheet.Range["A1"].Style.Font.IsBold = true;
            sheet.Range["A1"].Style.Font.Size = 13F;

            //最初の行の行の高さを設定する
            sheet.Rows[0].RowHeight = 30F;

            //DataTableを作成する
            DataTable dt = new DataTable();
            dt.Columns.Add("名前");
            dt.Columns.Add("性別");
            dt.Columns.Add("生年月日");
            dt.Columns.Add("学歴");
            dt.Columns.Add("連絡先");
            dt.Columns.Add("役職");
            dt.Columns.Add("ID");
            dt.Rows.Add("アレン", "男性", "1990-02-10", "学士", "24756854", "整備士", "0021");
            dt.Rows.Add("パトリック", "男性", "1985-06-08", "修士", "59863247", "整備士", "0022");
            dt.Rows.Add("ジェナ", "女性", "1989-11-25", "学士", "79540352", "営業", "0023");
            dt.Rows.Add("トミー", "男性", "1988-04-16", "修士", "52014060", "整備士", "0024");
            dt.Rows.Add("クリスティーナ", "女性", "1998-01-21", "学士", "35401489", "人事", "0025");

            //DataTableからワークシートにデータをインポートする
            sheet.InsertDataTable(dt, true, 2, 1, true);

            //フォントを設定する
            sheet.AllocatedRange.Style.Font.FontName = "YU Gothic Medium";
            sheet.AllocatedRange.Style.Font.Size = 12.0;

            //範囲の行の高さを設定する
            sheet.Range["A2:G7"].RowHeight = 20F;

            //列幅を設定する
            sheet.Range["A2:G7"].Columns[2].ColumnWidth = 15F;
            sheet.Range["A2:G7"].Columns[3].ColumnWidth = 21F;
            sheet.Range["A2:G7"].Columns[4].ColumnWidth = 15F;

            //範囲の境界線スタイルを設定する
            sheet.Range["A2:G7"].BorderAround(LineStyleType.Medium);
            sheet.Range["A2:G7"].BorderInside(LineStyleType.Thin);
            sheet.Range["A2:G2"].BorderAround(LineStyleType.Medium);
            sheet.Range["A2:G7"].Borders.KnownColor = ExcelColors.Black;

            //新しい.xlsxファイルとして保存する
            wb.SaveToFile("新しいワークブック.xlsx", FileFormat.Version2016);

            wb.Dispose();
        }
    }
}

C#:Excel ファイルの作成、読み取り、更新方法

C# で Excel ワークシートからデータを読み取る方法

Worksheet.Range.Value プロパティは、セルの数値またはテキスト値を文字列として返します。ワークシート全体またはセル範囲のデータを取得するには、その中のセルをループします。以下は、Spire.XLS for .NET を使用してワークシートのデータを取得する手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ドキュメントをロードします。
  • Workbook.Worksheets[index] プロパティで特定のワークシートを取得します。
  • Worksheet.AllocatedRange プロパティを使用して、データを含むセル範囲を取得します。
  • 行と列を反復して範囲内のセルを取得し、CellRange.Value プロパティを通して各セルの値を返す。
  • C#
using Spire.Xls;

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

            //既存のExcelファイルを読み込む
            wb.LoadFromFile("新しいワークブック.xlsx");

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

            //データが含まれているセル範囲を取得する
            CellRange locatedRange = sheet.AllocatedRange;

            //行を繰り返し処理する
            for (int i = 0; i < locatedRange.Rows.Length; i++)
            {
                //列を繰り返し処理する
                for (int j = 0; j < locatedRange.Rows[i].ColumnCount; j++)
                {
                    //特定のセルのデータを取得する
                    Console.Write(locatedRange[i + 1, j + 1].Value + "  ");
                }
                Console.WriteLine();
            }
        }
    }
}

C#:Excel ファイルの作成、読み取り、更新方法

C# で Excel ファイルを更新する方法

あるセルの値を変更するには、Worksheet.Range.Value プロパティで値を割り当て直すだけです。以下はその詳細な手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ドキュメントをロードします。
  • Workbook.Worksheets[index] プロパティで特定のワークシートを取得します。
  • Worksheet.Range.Value プロパティを使って特定のセルの値を変更します。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを Excel ファイルに保存します。
  • C#
using Spire.Xls;

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

            //既存のExcelファイルを読み込む
            wb.LoadFromFile("新しいワークブック.xlsx");

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

            //特定のセルの値を変更する
            sheet.Range["A1"].Value = "更新された値";

            //ファイルに保存する
            wb.SaveToFile("更新されたExcelファイル.xlsx", ExcelVersion.Version2016);

            wb.Dispose();
        }
    }
}

C#:Excel ファイルの作成、読み取り、更新方法

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

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

Published in 文書操作

Excel のワークシートに大量のデータがある場合、特定の条件に基づいてそれを複数の 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.Copy (CellRange sourceRange, CellRange destRange) メソッドを使用すると、指定したセル範囲を元の Excel ファイルから新しい Excel ファイルにコピーすることで、ワークシートを分割できます。以下は詳細な手順です。

  • Workbook インスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して「sample.xlsx」を読み込みます。
  • Workbook.Worksheets[] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.Range プロパティを使用して、タイトル行と指定されたセル範囲を取得します。
  • 新しい Workbook インスタンスを作成し、最初のワークシートを取得します。
  • Worksheet.Copy(CellRange sourceRange, CellRange destRange) メソッドを使用して、タイトル行と指定したセル範囲をそのシートにコピーします。
  • 元のブックから新しいブックに列幅をコピーし、Workbook.SaveToFile() メソッドを使用して新しいブックを Excel ファイルに保存します。
  • 別の Workbook インスタンスを作成し、上記の手順を繰り返して、タイトル行と指定したセル範囲をそのブックにコピーします。
  • 新しいブックを別の Excel ファイルに保存します。
  • C#
  • VB.NET
using Spire.Xls;

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

            //「sample.xlsx」を読み込む
            originalBook.LoadFromFile("sample.xlsx");

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

            //タイトル行を取得する
            CellRange headerRow = sheet.Range[1, 1, 1,5];

            //2つのセル範囲を取得する
            CellRange range1 = sheet.Range[2, 1, 6, sheet.LastColumn];
            CellRange range2 = sheet.Range[7, 1, sheet.LastRow, sheet.LastColumn];

            //新しいWorkbook インスタンスを作成する
            Workbook newBook1 = new Workbook();

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

            //タイトル行とRange1をそのワークシートにコピーする
            sheet.Copy(headerRow, newSheet1.Range[1, 1]);
            sheet.Copy(range1, newSheet1.Range[2, 1]);

            //元のワークブックから列幅を新しいワークブックにコピーする
            for (int i = 0; (i < sheet.LastColumn); i++)
            {
                newBook1.Worksheets[0].SetColumnWidth(i + 1, sheet.GetColumnWidth(i + 1));
            }

            //新しいワークブックをExcelファイルに保存する
            newBook1.SaveToFile("生産部.xlsx", ExcelVersion.Version2016);

            //別の新しいWorkbook インスタンスを作成する
            Workbook newBook2 = new Workbook();

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

            //タイトル行とRange2をそのワークシートにコピーする
            sheet.Copy(headerRow, newSheet2.Range[1, 1]);
            sheet.Copy(range2, newSheet2.Range[2, 1]);

            //元のワークブックから列幅を新しいワークブックにコピーする
            for (int i = 0; (i < sheet.LastColumn); i++)
            {
                newBook2.Worksheets[0].SetColumnWidth(i + 1, sheet.GetColumnWidth(i + 1));
            }

            //新しいワークブックを別のExcelファイルに保存する
            newBook2.SaveToFile("IT部門.xlsx", ExcelVersion.Version2016);

        }
    }
}
Imports Spire.XLS

Namespace splitworksheet
    Class Program
        Private Shared Sub Main(ByVal args() As String)
            'Workbook インスタンスを作成する 
            Dim originalBook As Workbook = New Workbook

            '「sample.xlsx」を読み込む
            originalBook.LoadFromFile("sample.xlsx")

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

            'タイトル行を取得する
            Dim headerRow As CellRange = sheet.Range(1, 1, 1, 5)

            '2つのセル範囲を取得する
            Dim range1 As CellRange = sheet.Range(2, 1, 6, sheet.LastColumn)
            Dim range2 As CellRange = sheet.Range(7, 1, sheet.LastRow, sheet.LastColumn)

            '新しいWorkbook インスタンスを作成する
            Dim newBook1 As Workbook = New Workbook

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

            'タイトル行とRange1をそのワークシートにコピーする
            sheet.Copy(headerRow, newSheet1.Range(1, 1))
            sheet.Copy(range1, newSheet1.Range(2, 1))

            '元のワークブックから列幅を新しいワークブックにコピーする
            Dim i As Integer = 0
            While (i < sheet.LastColumn)
                newBook1.Worksheets(0).SetColumnWidth(i + 1, sheet.GetColumnWidth(i + 1))
                i += 1
            End While

            '新しいワークブックをExcelファイルに保存する
            newBook1.SaveToFile("生産部.xlsx", ExcelVersion.Version2016)

            '別の新しいWorkbook インスタンスを作成する
            Dim newBook2 As Workbook = New Workbook

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

            'タイトル行とRange2をそのワークシートにコピーする
            sheet.Copy(headerRow, newSheet2.Range(1, 1))
            sheet.Copy(range2, newSheet2.Range(2, 1))

            '元のワークブックから列幅を新しいワークブックにコピーする
            Dim i As Integer = 0
            While (i < sheet.LastColumn)
                newBook2.Worksheets(0).SetColumnWidth(i + 1, sheet.GetColumnWidth(i + 1))
                i += 1
            End While

            '新しいワークブックを別のExcelファイルに保存する
            newBook2.SaveToFile("IT部門.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel でワークシートを複数のファイルに分割する方法

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

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

Published in 文書操作

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.Comments[].IsVisble プロパティを提供して、コメントの表示/非表示を制御します。このプロパティを 「false」に設定することで、既存のコメントを簡単に非表示にすることができます。以下は、Excel でコメントを非表示にするための詳細な手順です。

  • Workbook インスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用してサンプルファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.Comments[].IsVisble プロパティを「false」に設定して、ワークシート内の特定のコメントを非表示にします。
  • 最後に、Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
  • VB.NET
using Spire.Xls;

namespace ShowExcelComments
{
    class Program
    {
        static void Main(string[] args)
        {
            {
                //Workbookインスタンスを初期化し、サンプルファイルを読み込む
                Workbook workbook = new Workbook();
                workbook.LoadFromFile("Comments.xlsx");

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

                //ワークシート内の特定のコメントを非表示にする
                sheet.Comments[0].IsVisible = false;

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

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

            'Workbookインスタンスを初期化し、サンプルファイルを読み込む
            Dim workbook As Workbook = New Workbook
            workbook.LoadFromFile("Comments.xlsx")

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

            'ワークシート内の特定のコメントを非表示にする
            sheet.Comments(0).IsVisible = false

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

C#/VB.NET:Excel でコメントを表示または非表示にする方法

Excel でコメントを表示する

必要な場合には、非表示にされたコメントを簡単に表示することもできます。再び表示したい場合は、Worksheet.Comments[].IsVisble プロパティを「true」に設定してください。以下は、Excel でコメントを表示する手順です。

  • Workbook インスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用してサンプルファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.Comments[].IsVisble プロパティを「true」に設定して、ワークシートに特定のコメントを表示します。
  • 最後に、Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
  • VB.NET
using Spire.Xls;

namespace ShowExcelComments
{
    class Program
    {
        static void Main(string[] args)
        {
            {
                //Workbookインスタンスを初期化し、サンプルファイルを読み込む
                Workbook workbook = new Workbook();
                workbook.LoadFromFile("HideComment.xlsx");

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

                //特定のコメントを表示する
                sheet.Comments[0].IsVisible = true;

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

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

            'Workbookインスタンスを初期化し、サンプルファイルを読み込む
            Dim workbook As Workbook = New Workbook
            workbook.LoadFromFile("HideComment.xlsx")

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

            '特定のコメントを表示する
            sheet.Comments(0).IsVisible = true

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

C#/VB.NET:Excel でコメントを表示または非表示にする方法

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

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

Published in コメント

同じタイプまたはカテゴリの 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 ファイルを1つの Excel ファイルにマージする方法

以下は、複数の Excel ファイルを1つの Excel ファイルにマージする手順です。

  • マージが必要な Excel ファイルのパスを文字列配列に保存します。
  • Workbook クラスのオブジェクトを初期化して新しい Excel ワークブックを作成し。Workbook.Worksheets.Clear() メソッドを使用し、ワークブック内のデフォルトのワークシートを消去します。
  • 別の一時的な Workbook クラスのオブジェクトを初期化します。
  • 文字列配列をループし、Workbook.LoadFromFile() メソッドを使用し、現在のワークブックを一時的な Workbook クラスのオブジェクトにロードします。
  • 現在のワークブック内のワークシートをループし、Workbook.Worksheets.AddCopy() メソッドを使用して各ワークシートを現在のワークブックから新しいワークブックにコピーします。
  • Workbook.SaveToFile() メソッドを使用して新しいワークブックをファイルに保存します。
  • C#
  • VB.NET
using Spire.Xls;

namespace MergeExcelFiles
{
    class Program
    {
        static void Main(string[] args)
        {
            //マージが必要なExcelファイルのパスを文字列配列に保存する
            string[] inputFiles = new string[] { "2019.xlsx", "2020.xlsx", "2021.xlsx" };

            //Workbookクラスのオブジェクトを初期化する
            Workbook newWorkbook = new Workbook();
            //ワークブック内のデフォルトのワークシートを消去する
            newWorkbook.Worksheets.Clear();

            //別の一時的なWorkbookクラスのオブジェクトを初期化する
            Workbook tempWorkbook = new Workbook();

            //文字列配列をループする
            foreach (string file in inputFiles)
            {
                //現在のワークブックをロードする
                tempWorkbook.LoadFromFile(file);
                //現在のワークブック内のワークシートをループする
                foreach (Worksheet sheet in tempWorkbook.Worksheets)
                {
                    //各ワークシートを現在のワークブックから新しいワークブックにコピーする
                    newWorkbook.Worksheets.AddCopy(sheet, WorksheetCopyType.CopyAll);
                }
            }

            //新しいワークブックをファイルに保存する
            newWorkbook.SaveToFile("MergeWorkbooks.xlsx", ExcelVersion.Version2013);
        }
    }
}
Imports Spire.Xls

Namespace MergeExcelFiles
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            ' マージが必要なExcelファイルのパスを文字列配列に保存する
            Dim inputFiles = New String() {"2019.xlsx", "2020.xlsx", "2021.xlsx"}

            ' Workbookクラスのオブジェクトを初期化する
            Dim newWorkbook As Workbook = New Workbook()
            'ワークブック内のデフォルトのワークシートを消去する
            newWorkbook.Worksheets.Clear()

            '別の一時的なWorkbookクラスのオブジェクトを初期化する
            Dim tempWorkbook As Workbook = New Workbook()

            '文字列配列をループする
            For Each file In inputFiles
                '現在のワークブックをロードする
                tempWorkbook.LoadFromFile(file)
                '現在のワークブック内のワークシートをループする
                For Each sheet As Worksheet In tempWorkbook.Worksheets
                    '各ワークシートを現在のワークブックから新しいワークブックにコピーする
                    newWorkbook.Worksheets.AddCopy(sheet, WorksheetCopyType.CopyAll)
                Next
            Next

            '新しいワークブックをファイルに保存する
            newWorkbook.SaveToFile("MergeWorkbooks.xlsx", ExcelVersion.Version2013)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel ファイルをマージする方法

Excel ファイル内の複数のワークシートのデータを1つのシートにマージする方法

以下は、Excel ファイル内の複数のワークシートのデータを 1つのワークシートにマージする手順です。

  • Workbook クラスのオブジェクトを初期化して。Workbook.LoadFromFile() メソッドを使用して、Excel ファイルをロードします。
  • Workbook.Worksheets[sheetIndex] プロパティを使用して、マージが必要な2つのワークシートを取得します。シートインデックスはゼロから始まることに注意してください。
  • Worksheet.AllocatedRange プロパティを使用して、2つ目のワークシートの使用範囲を取得します。
  • Worksheet.Range[rowIndex,columnIndex] プロパティを使用して、最初のワークシートのターゲット範囲を指定します。行と列のインデックスは1に基づいていることに注意してください。
  • CellRange.Copy(destRange) メソッドを使用して、2つ目のワークシートの使用範囲を1つ目のワークシートのターゲット範囲にコピーします。
  • XlsWorksheet.Remove() メソッドを使用して、2番目のシートを削除します。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
  • VB.NET
using Spire.Xls;

namespace MergeExcelWorksheets
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのオブジェクトを初期化する
            Workbook workbook = new Workbook();
            //Excelファイルをロードする
            workbook.LoadFromFile("Sample.xlsx");

            //最初のワークシートを取得する
            Worksheet sheet1 = workbook.Worksheets[0];
            //2つ目のワークシートを取得する
            Worksheet sheet2 = workbook.Worksheets[1];

            //2つ目のワークシートの使用範囲を取得する
            CellRange sourceRange = sheet2.AllocatedRange;
            //最初のワークシートのターゲット範囲を指定する
            CellRange destRange = sheet1.Range[sheet1.LastRow + 1, 1];

            //2つ目のワークシートの使用範囲を1つ目のワークシートのターゲット範囲にコピーする
            sourceRange.Copy(destRange);

            //2番目のシートを削除する
            sheet2.Remove();

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

Namespace MergeExcelWorksheets
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            'Workbookクラスのオブジェクトを初期化する
            Dim workbook As Workbook = New Workbook()
            'Excelファイルをロードする
            workbook.LoadFromFile("Sample.xlsx")

            '最初のワークシートを取得する
            Dim sheet1 As Worksheet = workbook.Worksheets(0)
            '2つ目のワークシートを取得する
            Dim sheet2 As Worksheet = workbook.Worksheets(1)

            '2つ目のワークシートの使用範囲を取得する
            Dim sourceRange As CellRange = sheet2.AllocatedRange
            '最初のワークシートのターゲット範囲を指定する
            Dim destRange As CellRange = sheet1.Range(sheet1.LastRow + 1, 1)

            '2つ目のワークシートの使用範囲を1つ目のワークシートのターゲット範囲にコピーする
            sourceRange.Copy(destRange)

            '2番目のシートを削除する
            sheet2.Remove()

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

C#/VB.NET:Excel ファイルをマージする方法

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

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

Published in 文書操作