Text mit Shape innerhalb des Arbeitsblatts mit C++ drehen
Mögliche Verwendungsszenarien
Sie können Text in jeder Form mit Microsoft Excel hinzufügen. Wenn Sie eine Form mit der sehr alten Microsoft Excel 2003-Version hinzufügen, dreht sich der Text nicht mit der Form. Wenn Sie jedoch eine Form mit neueren Versionen von Microsoft Excel hinzufügen, wie 2007, 2010, 2013 oder 2016, dreht sich der Text mit der Form. Sie können steuern, ob der Text mit der Form drehen soll oder nicht, mit der ShapeTextAlignment.GetRotateTextWithShape()-Eigenschaft. Der Standardwert dieser Eigenschaft ist true, was bedeutet, dass sich der Text mit der Form dreht. Wenn Sie ihn auf false setzen, dreht sich der Text nicht mit der Form.
Text mit Form im Arbeitsblatt drehen
Der folgende Beispielcode lädt die Beispiel-Excel-Datei, die eine Dreieckform enthält und deren Text sich mit der Form dreht. Wenn Sie die Beispiel-Excel-Datei in Microsoft Excel öffnen und das Dreieck drehen, dreht sich auch der Text mit. Der Code setzt dann die ShapeTextAlignment.GetRotateTextWithShape()-Eigenschaft auf false und speichert sie als Ausgabedatei. Wenn Sie die Ausgabedatei in Microsoft Excel öffnen und das Dreieck drehen, dreht sich der Text nicht mit. Bitte sehen Sie sich den folgenden Screenshot an, der die Wirkung des Codes auf die Beispiel-Excel-Datei zeigt.
Beispielcode
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Drawing;
using namespace Aspose::Cells::Drawing::Texts;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Load sample Excel file
Workbook wb(srcDir + u"sampleRotateTextWithShapeInsideWorksheet.xlsx");
// Access first worksheet
Worksheet ws = wb.GetWorksheets().Get(0);
// Access cell B4 and add message inside it
Cell b4 = ws.GetCells().Get(u"B4");
b4.PutValue(u"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 + u"outputRotateTextWithShapeInsideWorksheet.xlsx");
Aspose::Cells::Cleanup();
}