如何在 excel 中重复创建水印
How to repeat watermark in excel created
在我的 webform 项目中,我在 C# 中使用 Aspose
生成 excel 文件,并使用以下代码为其添加水印:
Aspose.Cells.Worksheet sheet = workbook.Worksheets[0];
Aspose.Cells.Drawing.MsoPresetTextEffect effect = Aspose.Cells.Drawing.MsoPresetTextEffect.TextEffect2;
Aspose.Cells.Drawing.Shape wordart = sheet.Shapes.AddTextEffect(effect,"WATERMARKTEXT", "Arial Black", 47, false, false, 1, 1, 1, 1, 50, 300);
Aspose.Cells.Drawing.MsoFillFormat wordArtFormat = wordart.FillFormat;
wordArtFormat.ForeColor = System.Drawing.Color.Red;
wordArtFormat.Transparency = 0.8;
Aspose.Cells.Drawing.MsoLineFormat lineFormat = wordart.LineFormat;
lineFormat.IsVisible = false;
return workbook;
但是我想在每个 sheet 中水平和垂直重复这个水印。我该怎么做?
查看以下使用Aspose.Cells API 完成任务的示例代码,供您参考:
例如
示例代码:
Workbook workbook = new Workbook("e:\test2\Book1.xlsx");
//Add watermark to the first worksheet.
Aspose.Cells.Worksheet sheet = workbook.Worksheets[0];
Aspose.Cells.Drawing.MsoPresetTextEffect effect = Aspose.Cells.Drawing.MsoPresetTextEffect.TextEffect2;
Aspose.Cells.Drawing.Shape wordart = sheet.Shapes.AddTextEffect(effect, "WATERMARKTEXT", "Arial Black", 47, false, false, 1, 1, 1, 1, 50, 300);
Aspose.Cells.Drawing.MsoFillFormat wordArtFormat = wordart.FillFormat;
wordArtFormat.ForeColor = System.Drawing.Color.Red;
wordArtFormat.Transparency = 0.8;
Aspose.Cells.Drawing.MsoLineFormat lineFormat = wordart.LineFormat;
lineFormat.IsVisible = false;
//Now add watermark to the second worksheet as it is.
Aspose.Cells.Worksheet worksheet1 = workbook.Worksheets[1];
worksheet1.Shapes.AddCopy(wordart, wordart.UpperLeftRow, wordart.Top, wordart.UpperLeftColumn, wordart.Left);
//Now add watermark to the third worksheet vertically.
Aspose.Cells.Worksheet worksheet2 = workbook.Worksheets[2];
worksheet2.Shapes.AddCopy(wordart, wordart.UpperLeftRow, wordart.Top, wordart.UpperLeftColumn, wordart.Left);
worksheet2.Shapes[0].RotationAngle = 90;
workbook.Save("e:\test2\out.xlsx");
注意:我在 Aspose 担任支持 developer/Evangelist。
我用这个方法设置背景而不是水印:
private static Aspose.Cells.Workbook AddExcelWaterMark(Aspose.Cells.Workbook workbook)
{
try
{
string path = HttpContext.Current.Server.MapPath("~/images/ExcelBackGround.png");
byte[] bgBuffer = File.ReadAllBytes(path);
foreach (Aspose.Cells.Worksheet sheet in workbook.Worksheets)
sheet.SetBackground(bgBuffer);
return workbook;
}
catch
{
return workbook;
}
}
在我的 webform 项目中,我在 C# 中使用 Aspose
生成 excel 文件,并使用以下代码为其添加水印:
Aspose.Cells.Worksheet sheet = workbook.Worksheets[0];
Aspose.Cells.Drawing.MsoPresetTextEffect effect = Aspose.Cells.Drawing.MsoPresetTextEffect.TextEffect2;
Aspose.Cells.Drawing.Shape wordart = sheet.Shapes.AddTextEffect(effect,"WATERMARKTEXT", "Arial Black", 47, false, false, 1, 1, 1, 1, 50, 300);
Aspose.Cells.Drawing.MsoFillFormat wordArtFormat = wordart.FillFormat;
wordArtFormat.ForeColor = System.Drawing.Color.Red;
wordArtFormat.Transparency = 0.8;
Aspose.Cells.Drawing.MsoLineFormat lineFormat = wordart.LineFormat;
lineFormat.IsVisible = false;
return workbook;
但是我想在每个 sheet 中水平和垂直重复这个水印。我该怎么做?
查看以下使用Aspose.Cells API 完成任务的示例代码,供您参考: 例如 示例代码:
Workbook workbook = new Workbook("e:\test2\Book1.xlsx");
//Add watermark to the first worksheet.
Aspose.Cells.Worksheet sheet = workbook.Worksheets[0];
Aspose.Cells.Drawing.MsoPresetTextEffect effect = Aspose.Cells.Drawing.MsoPresetTextEffect.TextEffect2;
Aspose.Cells.Drawing.Shape wordart = sheet.Shapes.AddTextEffect(effect, "WATERMARKTEXT", "Arial Black", 47, false, false, 1, 1, 1, 1, 50, 300);
Aspose.Cells.Drawing.MsoFillFormat wordArtFormat = wordart.FillFormat;
wordArtFormat.ForeColor = System.Drawing.Color.Red;
wordArtFormat.Transparency = 0.8;
Aspose.Cells.Drawing.MsoLineFormat lineFormat = wordart.LineFormat;
lineFormat.IsVisible = false;
//Now add watermark to the second worksheet as it is.
Aspose.Cells.Worksheet worksheet1 = workbook.Worksheets[1];
worksheet1.Shapes.AddCopy(wordart, wordart.UpperLeftRow, wordart.Top, wordart.UpperLeftColumn, wordart.Left);
//Now add watermark to the third worksheet vertically.
Aspose.Cells.Worksheet worksheet2 = workbook.Worksheets[2];
worksheet2.Shapes.AddCopy(wordart, wordart.UpperLeftRow, wordart.Top, wordart.UpperLeftColumn, wordart.Left);
worksheet2.Shapes[0].RotationAngle = 90;
workbook.Save("e:\test2\out.xlsx");
注意:我在 Aspose 担任支持 developer/Evangelist。
我用这个方法设置背景而不是水印:
private static Aspose.Cells.Workbook AddExcelWaterMark(Aspose.Cells.Workbook workbook)
{
try
{
string path = HttpContext.Current.Server.MapPath("~/images/ExcelBackGround.png");
byte[] bgBuffer = File.ReadAllBytes(path);
foreach (Aspose.Cells.Worksheet sheet in workbook.Worksheets)
sheet.SetBackground(bgBuffer);
return workbook;
}
catch
{
return workbook;
}
}