在工作表内旋转文本与形状
可能的使用场景
您可以使用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文件的影响。
示例代码
// 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"); |