使用 C# 向 Excel 工作表添加水印

我們已經討論了為不同的 文檔圖像演示文稿 加水印的方法。今天,我們將討論如何使用 C# 和 .NET 應用程序以不同的方式向 Excel 工作簿添加水印。

以下主題涵蓋如下:

.NET API 到水印 Excel 工作表

GroupDocs.Watermark 為各種文件格式的文檔和圖像提供 .NET API。我們將使用 GroupDocs.Watermark for .NET 使用 C# 以不同方式在電子表格中應用水印。

您可以從 下載部分 下載 DLL 或 MSI 安裝程序,或從 NuGet 獲取。

Install-Package GroupDocs.Watermark

使用 C# 為 Excel 工作表加水印

API 允許您將文本作為具有不同自定義的水印插入到電子表格中。以下是使用 C# 和 .NET 應用程序向 Excel 工作簿添加水印的步驟。

  • 準備電子表格的加載選項。
  • 使用 Watermarker 加載電子表格。
  • 使用 TextWatermark 定義水印文本和外觀。
  • 使用 添加 方法將文本水印添加到 Excel 工作表。
  • 使用 Save 方法保存帶有水印的結果電子表格。

以下 C# 代碼示例將文本水印應用於具有旋轉和不透明度的 Excel 工作簿的所有工作表。

/*
 * 使用C#為Excel工作簿的所有工作表添加水印
 */
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
using (Watermarker watermarker = new Watermarker(@"path/spreadsheet.xlsx", loadOptions))
{
    // 向工作表添加文本水印
    TextWatermark textWatermark = new TextWatermark("DRAFT", new Font("Arial", 100))
    {
        RotateAngle = -45,
        Height = 200,
        Width = 500,
        Opacity = .2,
        ForegroundColor = Color.DarkBlue
    };
    // 添加水印並保存帶水印的電子表格。
    watermarker.Add(textWatermark);
    watermarker.Save(@"path/allpages-watermark-spreadsheet.xlsx");
}

使用 C# 的水印特定 Excel 工作表

同樣,您可以僅將水印應用於任何特定工作表,而不是將它們應用於工作簿的所有工作表。以下步驟指導如何使用 C# 將文本水印插入到 Excel 工作簿的特定工作表中。

  • 準備加載選項。
  • 使用 Watermarker 類加載電子表格。
  • 使用 TextWatermark 類定義水印外觀和文本。
  • 設置工作表索引,以便水印僅應用於提到的工作表。
  • 使用帶有水印選項的 Add 方法將文本水印添加到 Excel 工作表。
  • 使用 Save 方法保存帶有水印的輸出電子表格。

以下代碼片段僅將文本水印應用於 Excel 工作簿中提到的工作表。

/*
 * 使用 C# 僅將水印添加到 Excel 工作簿中提到的工作表
 */
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
using (Watermarker watermarker = new Watermarker(@"path/spreadsheet.xlsx", loadOptions))
{
    // 向工作表添加文本水印
    TextWatermark textWatermark = new TextWatermark("DRAFT", new Font("Arial", 100))
    {
        RotateAngle = -45,
        Height = 200,
        Width = 500,
        Opacity = .2,
        ForegroundColor = Color.DarkBlue
    };
    // 定義工作表索引
    SpreadsheetWatermarkShapeOptions textWatermarkOptions = new SpreadsheetWatermarkShapeOptions()
    {
        WorksheetIndex = 1
    };
    // 添加水印並保存帶水印的電子表格。    
    watermarker.Add(textWatermark, textWatermarkOptions);
    watermarker.Save(@"path/onepage-watermark-spreadsheet.xlsx");
}

使用 C# 將 Excel 工作表水印作為背景

同樣,我們也可以添加水印作為電子表格的背景。與上述應用水印的技術會有一點變化。以下是允許使用 C# 將背景文本水印插入 Excel 電子表格的步驟。

  • 準備加載電子表格的加載選項。
  • 使用 Watermarker 加載電子表格。
  • 使用 TextWatermark 定義水印文本和外觀(旋轉、位置、尺寸、不透明度、顏色等)。
  • 通過獲取內容和設置尺寸來設置背景水印選項。
  • 設置工作表的索引以應用水印。 (可選的)
  • 使用 添加 方法將水印添加到電子表格。
  • 使用 Save 方法保存帶水印的電子表格。

以下代碼示例顯示瞭如何在 .NET 應用程序中使用 C# 將背景水印添加到 Excel 電子表格。

/*
 * 使用 C# 將水印作為背景添加到 Excel 工作簿
 */
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
using (Watermarker watermarker = new Watermarker(@"path/spreadsheet.xlsx", loadOptions))
{
    // 定義水印外觀
    TextWatermark textWatermark = new TextWatermark("DRAFT", new Font("Arial", 100))
    {
        RotateAngle = -45,
        X = 200,
        Y = 200,
        Height = 200,
        Width = 500,
        Opacity = .2,
        ForegroundColor = Color.DarkBlue
    };
    // 獲取電子表格內容的維度
    SpreadsheetContent content = watermarker.GetContent<SpreadsheetContent>();
    SpreadsheetBackgroundWatermarkOptions options = new SpreadsheetBackgroundWatermarkOptions();
    options.BackgroundWidth = content.Worksheets[0].ContentAreaWidthPx; /* set background width */
    options.BackgroundHeight = content.Worksheets[0].ContentAreaHeightPx; /* set background height */
    options.WorksheetIndex = 0;

    // 添加水印並保存帶水印的電子表格。
    watermarker.Add(textWatermark, options);
    watermarker.Save(@"path/background-watermark-spreadsheet.xlsx");
}
以編程方式為 Excel 工作表加水印

獲取免費的 API 許可證

您可以獲得免費的臨時許可證,以便在不受評估限制的情況下使用 API。

結論

總而言之,我們討論了使用 C# 向 Excel 工作表添加水印的不同方法。首先,我們為 Excel 工作簿的所有工作表添加了文本水印。然後我們只將水印應用於特定的工作表。最後,我們將基於文本的水印作為背景插入到 Excel 工作簿中。

訪問產品 文檔 以了解有關 API 的更多信息。如有疑問,請通過論壇 聯繫我們。

也可以看看