在工作表内旋转文本与形状

可能的使用场景

您可以使用Microsoft Excel在任何形状内添加文本。如果您使用非常老的Microsoft Excel 2003添加形状,则文本将不会随形状旋转。但如果您使用更新的版本的Microsoft Excel,例如2007、2010、2013或2016等添加形状,则文本将随形状旋转。您可以使用 ShapeTextAlignment.RotateTextWithShape 属性来控制文本是否应该随形状旋转。其默认值为 true,这意味着文本将随形状旋转,但如果您将其设置为 false,则文本将不会随形状旋转。

在工作表内旋转文本与形状

以下示例代码加载了带有三角形形状且其文本随形状旋转的 示例excel文件。如果您在Microsoft Excel中打开示例excel文件并旋转三角形形状,则文本也将随之旋转。然后,代码将将 ShapeTextAlignment.RotateTextWithShape 属性设置为 false 并保存为 输出excel文件。如果您现在在Microsoft Excel中打开输出excel文件并旋转三角形形状,文本将不会随之旋转。请参考以下屏幕截图显示代码对示例excel文件的影响。

todo:image_alt_text

示例代码

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Load sample Excel file.
Workbook wb = new Workbook(srcDir + "sampleRotateTextWithShapeInsideWorksheet.xlsx");
//Access first worksheet.
Worksheet ws = wb.getWorksheets().get(0);
//Access cell B4 and add message inside it.
Cell b4 = ws.getCells().get("B4");
b4.putValue("Text is not rotating with shape because RotateTextWithShape is false.");
//Access first shape.
Shape sh = ws.getShapes().get(0);
//Access shape text alignment.
ShapeTextAlignment shapeTextAlignment = sh.getTextBody().getTextAlignment();
//Do not rotate text with shape by setting RotateTextWithShape as false.
shapeTextAlignment.setRotateTextWithShape(false);
//Save the output Excel file.
wb.save(outDir + "outputRotateTextWithShapeInsideWorksheet.xlsx");