请问有excel表格添加整页效果水印的示例代码吗?


#1

本人使用SOPSE.CELLS FOR JAVA 17.5版本,请问是否有关于Worksheet表格文档添加整页效果水印的官方示例代码?
请问使用什么方法可以获取Worksheet文档内容的长度和宽度?


#2

@Obey,
您可以使用MaxDataRow获取最后一行,使用MaxDataColumn属性获取最后一列,并通过从MinDataRow和MinDataColumn计算来计算宽度和高度。 计算完成后,您可以使用示例在文档中添加水印。
https://docs.aspose.com/display/cellsjava/Add+WordArt+Watermark+to+Worksheet


#3

您给的链接当中没有看到示例代码,能帮忙重新给一下吗?另外,我在17.5的版本中没有发现您说的MaxDataRow、MaxDataColumn、MinDataRow和MinDataColumn,请问如何获取呢?十分感谢!


#4

@Obey,
该链接包含以下用于添加水印的代码。

此外,基于最新版本的API提供支持,因此请升级到Aspose.Cells for Java 19.6。

// Instantiate a new Workbook
Workbook workbook = new Workbook();

// Get the first default sheet
Worksheet sheet = workbook.getWorksheets().get(0);

// Add Watermark
Shape wordart = sheet.getShapes().addTextEffect(MsoPresetTextEffect.TEXT_EFFECT_1, "CONFIDENTIAL", "Arial Black", 50, false, true, 18, 8, 1, 1, 130, 800);

// Get the fill format of the word art
FillFormat wordArtFormat = wordart.getFill();

// Set the color
wordArtFormat.setOneColorGradient(Color.getRed(), 0.2, GradientStyleType.HORIZONTAL, 2);

// Set the transparency
wordArtFormat.setTransparency(0.9);

// Make the line invisible
LineFormat lineFormat = wordart.getLine();
lineFormat.setWeight(0.0);

// Save the file
workbook.save(dataDir + "AWArtWToWorksheet_out.xls");

您可以使用下面的代码来获取用于计算工作表大小的建议属性的值。

Workbook workbook = new Workbook();
Worksheet sheet = workbook.getWorksheets().get(0);
int minRow = sheet.getCells().getMinDataRow();
int maxRow = sheet.getCells().getMaxDataRow();
int minCol = sheet.getCells().getMinDataColumn();
int maxCol = sheet.getCells().getMaxDataColumn();