チュートリアル

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

Displaying items by tag: xlsnetlink

ハイパーリンクは、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 ファイルからハイパーリンクを抽出する

Excel ワークブックから他のシステム(例えばデータベース)にデータを移行する際、そのデータに関連付けられたハイパーリンクを保持する必要がある場合、事前にハイパーリンクを抽出することが必要です。以下の手順で、C# で Spire.XLS for .NET を使用して Excel ファイルからハイパーリンクを抽出する方法を示します。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[int index] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.Hyperlinks プロパティを使用して、ワークシート内のすべてのハイパーリンクのコレクションを取得します。
  • StringBuilder クラスのインスタンスを初期化して、抽出したハイパーリンク情報を格納します。
  • ハイパーリンクのコレクションを反復処理します。
  • XlsHyperlink.AddressXlsHyperlink.Type プロパティを使用して、各ハイパーリンクのアドレスとタイプを取得します。
  • 取得したアドレスとタイプを StringBuilder インスタンスに追加します。
  • File.WriteAllText() メソッドを使用して、StringBuilder インスタンスの内容をテキストファイルに書き込みます。
  • C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core.Spreadsheet;
using System.IO;
using System.Text;

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

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

            //ワークシート内のすべてのハイパーリンクのコレクションを取得
            HyperLinksCollection hyperLinks = sheet.HyperLinks;

            //StringBuilderクラスのインスタンスを初期化
            StringBuilder sb = new StringBuilder();

            //コレクション内のハイパーリンクを繰り返し処理
            foreach (XlsHyperLink hyperlink in hyperLinks)
            {
                //ハイパーリンクのアドレスを取得
                string address = hyperlink.Address;
                //ハイパーリンクのタイプを取得
                HyperLinkType type = hyperlink.Type;
                //StringBuilderインスタンスにハイパーリンクのアドレスとタイプを追加
                sb.AppendLine("リンクアドレス: " + address);
                sb.AppendLine("リンクタイプ: " + type.ToString());
                sb.AppendLine();
            }

            //StringBuilderインスタンスの内容をテキストファイルに書き込む
            File.WriteAllText("output/Excelのハイパーリンクを取得.txt", sb.ToString());
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのハイパーリンクを抽出、変更、削除する方法

Excel ファイル内のハイパーリンクを変更する

誤ったリソースにリンクしてしまったり、ハイパーリンク作成時に URL を間違えて入力した場合、ハイパーリンクを修正して誤りを正す必要があります。以下の手順で、Excel ファイル内の既存のハイパーリンクを変更する方法を示します。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[int index] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.Hyperlinks プロパティを使用して、ワークシート内のすべてのハイパーリンクのコレクションを取得します。
  • コレクション内の最初のハイパーリンクを取得します。
  • XlsHyperlink.TextToDisplayXlsHyperlink.Address プロパティを使用して、ハイパーリンクの表示テキストとアドレスを修正します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core.Spreadsheet;

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

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

            //ワークシート内のすべてのハイパーリンクのコレクションを取得
            HyperLinksCollection links = sheet.HyperLinks;
            //ハイパーリンクを取得
            XlsHyperLink hyperLink = links[3];

            //ハイパーリンクの表示テキストとアドレスを変更
            hyperLink.TextToDisplay = "ビングを訪問";
            hyperLink.Address = "http://www.bing.com/";

            //結果ファイルを保存
            workbook.SaveToFile("output/Excelのハイパーリンクを変更.xlsx");
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのハイパーリンクを抽出、変更、削除する方法

Excel ファイルからハイパーリンクを削除する

不要なハイパーリンクを削除することで、ワークシートをより整然とし、プロフェッショナルな印象にすることができます。以下の手順で、Excel ファイルから特定のハイパーリンクを削除する方法を示します。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[int index] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.Hyperlinks.RemoveAt(int index) メソッドを使用して、ワークシートから特定のハイパーリンクを削除します。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
using Spire.Xls;

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

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

            //最初のハイパーリンクを削除し、表示テキストを保持
            sheet.HyperLinks.RemoveAt(0);

            //セルのすべての内容を削除
            //sheet.Range["B2"].ClearAll();

            //結果ファイルを保存
            workbook.SaveToFile("output/Excelからハイパーリンクを削除.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのハイパーリンクを抽出、変更、削除する方法

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

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

Published in リンク
Tagged under

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 ファイルにテキストハイパーリンクを追加する手順は以下の通りです:

  • Workbook クラスのインスタンスを作成します。
  • Workbook.Worksheets[sheetIndex] プロパティを使用して、目的のワークシートを取得します。
  • Worksheet.Range[cellName] プロパティを使って、ハイパーリンクを追加したいセルを指定します。
  • Worksheet.HyperLinks.Add() メソッドを使用して、セルにハイパーリンクを追加します。
  • XlsHyperLink.TypeXlsHyperLink.TextToDisplay、および XlsHyperLink.Address プロパティを使って、ハイパーリンクの種類、表示テキスト、リンク先のアドレスを設定します。
  • XlsWorksheet.AutoFitColumn() メソッドで列の幅を自動調整します。
  • Workbook.SaveToFile() メソッドを使用して、ブックを保存します。
  • C#
using Spire.Xls;

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

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

            //ウェブページにリンクするテキストハイパーリンクを追加
            CellRange cell1 = sheet.Range["B3"];
            HyperLink urlLink = sheet.HyperLinks.Add(cell1);
            urlLink.Type = HyperLinkType.Url;
            urlLink.TextToDisplay = "ウェブサイトへのリンク";
            urlLink.Address = "https://www.google.com/";

            //メールアドレスにリンクするテキストハイパーリンクを追加
            CellRange cell2 = sheet.Range["E3"];
            HyperLink mailLink = sheet.HyperLinks.Add(cell2);
            mailLink.Type = HyperLinkType.Url;
            mailLink.TextToDisplay = "メールアドレスへのリンク";
            mailLink.Address = "mailto:abc @outlook.com";

            //外部ファイルにリンクするテキストハイパーリンクを追加
            CellRange cell3 = sheet.Range["B7"];
            HyperLink fileLink = sheet.HyperLinks.Add(cell3);
            fileLink.Type = HyperLinkType.File;
            fileLink.TextToDisplay = "外部ファイルへのリンク";
            fileLink.Address = "C:\\Users\\Administrator\\Desktop\\Report.xlsx";

            //別のシートのセルにリンクするテキストハイパーリンクを追加
            CellRange cell4 = sheet.Range["E7"];
            HyperLink linkToSheet = sheet.HyperLinks.Add(cell4);
            linkToSheet.Type = HyperLinkType.Workbook;
            linkToSheet.TextToDisplay = "シート2のセルへのリンク";
            linkToSheet.Address = "Sheet2!B5";

            //UNCアドレスにリンクするテキストハイパーリンクを追加
            CellRange cell5 = sheet.Range["B11"];
            HyperLink uncLink = sheet.HyperLinks.Add(cell5);
            uncLink.Type = HyperLinkType.Unc;
            uncLink.TextToDisplay = "UNCアドレスへのリンク";
            uncLink.Address = "\\\\192.168.0.121";

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

            //結果ファイルを保存
            workbook.SaveToFile("output/Excelにテキストハイパーリンクを挿入.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルにハイパーリンクを挿入する方法

Excel セルに画像のハイパーリンクを挿入する

Excel ファイルに画像のハイパーリンクを追加する手順は以下の通りです:

  • Workbook クラスのインスタンスを作成します。
  • Workbook.Worksheets[sheetIndex] プロパティを使用して、目的のワークシートを取得します。
  • Worksheet.Pictures.Add() メソッドを使用してワークシートに画像を挿入し、列幅や行の高さを設定します。
  • XlsBitmapShape.SetHyperLink() メソッドを使用して、画像にハイパーリンクを追加します。
  • Workbook.SaveToFile() メソッドを使用して、ブックを保存します。
  • C#
using Spire.Xls;

namespace AddImageHyperlinks
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookインスタンスを作成
            Workbook workbook = new Workbook();
            //最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            //ワークシートに画像を挿入
            ExcelPicture picture = sheet.Pictures.Add(5, 3, "Logo.png");
            
            //画像にハイパーリンクを追加
            picture.SetHyperLink("https://www.e-iceblue.com", true);

            //結果ファイルを保存
            workbook.SaveToFile("output/Excelに画像のハイパーリンクを挿入.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルにハイパーリンクを挿入する方法

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

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

Published in リンク
Tagged under