excel水印

如何使用 C# 在 Excel(XLS, XLSX) 中插入水印

Excel 是一种功能强大的工具,广泛用于管理和分析数据。由于它主要以其数字和数据处理功能而闻名,它还提供了许多有用的格式化和演示工具。其中一种工具是能够插入水印,可用于将背景图像或文本添加到 Excel 工作表。水印可用于向文档添加品牌元素,指示文档的状态或版本,或添加一层保护以防止未经授权的复制或分发。在本文中,我们将探讨如何使用 C# 在 Excel 中添加和删除水印,为那些想要增强 Excel 文档的视觉吸引力并保护其宝贵内容的用户提供分步指南。

Excel 水印 API

Aspose.Cells Cloud 提供了一种在云中处理 Excel 文档的简单高效的方式,使您能够简化工作流程并自动执行许多与 Excel 相关的任务。由于其跨平台兼容性、无缝集成、强大的安全性和成本效益,它是在云中处理 Excel 文件的绝佳选择。此外,这个强大的 API 允许您以编程方式对 Excel 文档执行各种操作,包括添加和删除水印。

现在,为了使用 C# .NET 在 Excel 中插入水印,我们需要在我们的项目中添加 Aspose.Cells Cloud SDK for .NET 的引用。因此,在 NuGet 包管理器中搜索 Aspose.Cells-Cloud 并单击“添加包”按钮。此外,我们还需要使用有效的电子邮件地址在 Dashboard 上创建一个帐户。

使用 C# 向 Excel 添加水印

让我们快速浏览一下用于向 Excel 工作簿添加水印的 C# .NET 代码片段。

// 如需完整示例和数据文件,请访问 
https://github.com/aspose-cells-cloud/aspose-cells-cloud-dotnet/

// 从 https://dashboard.aspose.cloud/ 获取客户端凭证
string clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
string clientID = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
        
// 在传递 ClientID 和 ClientSecret 时创建 CellsApi 实例
CellsApi cellsInstance = new CellsApi(clientID, clientSecret);

// 从本地驱动器输入 Excel 工作簿
string input_Excel = "input.xls";
// 用作水印的图像
string imageFile = "Landscape.jpg";

// 读取输入图像到流实例
var imageStream = System.IO.File.OpenRead(imageFile);

try
{   
    // 读取 Excel 工作簿并上传到云存储
    cellsInstance.UploadFile(input_Excel, File.OpenRead(input_Excel));

    // 创建内存流实例
    var memoryStream = new MemoryStream();

    // 使用 .CopyTo() 方法并将当前文件流写入内存流
    imageStream.CopyTo(memoryStream);

    // 将流转换为数组
    byte[] imageBytes = memoryStream.ToArray();
                    
    // 为 Excel 工作簿添加水印
    var response = cellsInstance.CellsWorkbookPutWorkbookBackground(input_Excel, imageBytes, null);

    // 如果连接成功则打印成功消息
    if (response != null && response.Equals("OK"))
    {
        Console.WriteLine("Excel Watermark operation successful !");
        Console.ReadKey();
    }
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

以下是上述代码片段的详细信息:

CellsApi cellsInstance = new CellsApi(clientID, clientSecret);

创建一个 CellsApi 对象,同时将客户端凭据作为参数传递。

var imageStream = System.IO.File.OpenRead(imageFile);

将输入图像读取到 FileStream 实例。

cellsInstance.UploadFile(input_Excel, File.OpenRead(input_Excel));

将输入的 Excel 上传到云存储。

var memoryStream = new MemoryStream();
imageStream.CopyTo(memoryStream);
byte[] imageBytes = memoryStream.ToArray();

输入 FileStream 转换为 ByteArray。

var response = cellsInstance.CellsWorkbookPutWorkbookBackground(input_Excel, imageBytes, null);

最后,我们调用API为Excel添加水印,并将生成的Workbook保存到云存储。

上例中使用的输入Excel和Image文件可以从input.xls和[Landscape.jpg](https://media.photographycourse.net/wp-content/uploads/ 2014/11/08164934/Landscape-Photography-steps.jpg)分别。

使用 C# 去除 Excel 水印

借助 Aspose.Cells Cloud,从 Excel 文档中去除水印既快速又直接,使您能够简化工作流程并自动执行许多与 Excel 相关的任务。当您需要更新或替换现有水印,或者您想要完全删除它时,此任务很有用。使用 Aspose.Cells Cloud API,您可以轻松地从所有 Excel 工作表中删除水印。然后,API 将从指定的工作表中删除水印,文档的其余部分保持不变。

// 如需完整示例和数据文件,请访问 
https://github.com/aspose-cells-cloud/aspose-cells-cloud-dotnet/

// 从 https://dashboard.aspose.cloud/ 获取客户端凭证
string clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
string clientID = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
        
// 在传递 ClientID 和 ClientSecret 时创建 CellsApi 实例
CellsApi cellsInstance = new CellsApi(clientID, clientSecret);

// 在本地驱动器上输入带有水印的 Excel 工作簿
string input_Excel = "input.xls";

try
{   
    // 读取 Excel 工作簿并上传到云存储
    cellsInstance.UploadFile(input_Excel, File.OpenRead(input_Excel));
                    
    // 调用 API 从所有 Excel 工作表中删除水印
    var response = cellsInstance.CellsWorkbookDeleteWorkbookBackground(input_Excel, null);

    // 如果连接成功则打印成功消息
    if (response != null && response.Equals("OK"))
    {
        Console.WriteLine("Watermarks removed successfully from Excel !");
        Console.ReadKey();
    }
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

在上面的代码片段中,以下代码行负责从 Excel 工作簿中删除水印图像。

var response = cellsInstance.CellsWorkbookDeleteWorkbookBackground(input_Excel, null);

使用 cURL 命令设置 Excel 背景图像

Aspose.Cells Cloud 提供简单易用的 REST API,允许您将 Excel 文档的水印功能无缝集成到您的工作流程中。此外,在 cURL 命令的帮助下,我们可以自动执行此操作并简化我们与 Excel 相关的任务。现在,为了添加水印,我们需要向 Aspose.Cells Cloud API 发送一个 cURL POST 请求,其中水印设置和 Excel 文档文件作为参数。

但是,首先我们需要在系统上安装 cURL,然后根据客户端凭据生成 accessToken:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

其次,使用以下命令将输入的Excel上传到云存储:

curl -v "https://api.aspose.cloud/v3.0/cells/storage/file/{filePath}" \
-X PUT \
-F file=@{localFilePath} \
-H "Content-Type: multipart/form-data" \
-H "Authorization: Bearer {accessToken}"

{filePath} 替换为您要在云存储中存储文件的路径,将 {localFilePath} 替换为本地系统上 Excel 的路径,并将 {accessToken} 替换为您的 Aspose Cloud 访问令牌(上面生成)。

最后,执行以下命令在在线Excel工作簿中插入水印:

curl -v "https://api.aspose.cloud/v3.0/cells/{excelFile}/background" \
-X PUT \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer {accessToken}" \
-H  "Content-Type: multipart/form-data" \
-d  "File":{"watermarkImage"}

{excelFile} 替换为云存储中输入的 Excel 文件的名称 用上面生成的访问令牌替换{accessToken}{watermarkImage} 替换为本地驱动器上可用的光栅图像

  • 操作成功后,带水印的Excel将存储在同一个云存储中。

结束语

总体而言,在 Excel 文档中添加和删除水印有助于保护您的数据并保持文档完整性。 Aspose.Cells Cloud 提供了一个强大的解决方案,以简单和流线型的方式完成这些任务。通过使用 Aspose.Cells Cloud API 和 cURL 命令,您可以轻松地自动化这些过程并将它们集成到您现有的工作流程中。 Aspose.Cells Cloud 具有文档转换、格式化和操作等附加功能,是在云中管理 Excel 文档的宝贵工具。

有用的链接

推荐文章

请访问以下链接以了解更多信息: