Použít stolní styl
Styl tabulky definuje soubor formátování, který lze snadno aplikovat na tabulku. Formátování jako jsou hranice, stínování, zarovnání a písmo lze nastavit ve stylu tabulky a aplikovat na mnoho tabulek pro konzistentní vzhled.
Aspose.Words podporuje použití stylu tabulky na tabulku a také čtení vlastností jakéhokoli stylu tabulky. Styly stolů jsou během nakládky a ukládání zachovány následujícími způsoby:
- Stolní styly ve formátech DOCX a WordML jsou zachovány při načítání a ukládání do těchto formátů
- Styly tabulky jsou zachovány při načítání a ukládání ve formátu DOC (ale ne do jiného formátu)
- Při exportu do jiných formátů, vykreslování nebo tisku jsou styly tabulky rozšířeny na přímý formátování v tabulce, takže všechny formátování je zachováno
Vytvořit stolní styl
Uživatel může vytvořit nový styl a přidat jej do kolekce stylů. • Add metoda se používá k vytvoření nového stylu tabulky.
Následující příklad kódu ukazuje, jak vytvořit nový uživatelsky definovaný styl tabulky:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
Table table = builder.StartTable(); | |
builder.InsertCell(); | |
builder.Write("Name"); | |
builder.InsertCell(); | |
builder.Write("Value"); | |
builder.EndRow(); | |
builder.InsertCell(); | |
builder.InsertCell(); | |
builder.EndTable(); | |
TableStyle tableStyle = (TableStyle) doc.Styles.Add(StyleType.Table, "MyTableStyle1"); | |
tableStyle.Borders.LineStyle = LineStyle.Double; | |
tableStyle.Borders.LineWidth = 1; | |
tableStyle.LeftPadding = 18; | |
tableStyle.RightPadding = 18; | |
tableStyle.TopPadding = 12; | |
tableStyle.BottomPadding = 12; | |
table.Style = tableStyle; | |
doc.Save(ArtifactsDir + "WorkingWithTableStylesAndFormatting.CreateTableStyle.docx"); |
Kopírovat stávající stolní styl
V případě potřeby můžete zkopírovat styl tabulky, který již existuje v určitém dokumentu do vaší sbírky stylu pomocí AddCopy
metoda.
Je důležité vědět, že s tímto kopírováním jsou také kopírovány propojené styly.
Následující příklad kódu ukazuje, jak importovat styl z jednoho dokumentu do jiného dokumentu:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document srcDoc = new Document(); | |
// Create a custom style for the source document. | |
Style srcStyle = srcDoc.Styles.Add(StyleType.Paragraph, "MyStyle"); | |
srcStyle.Font.Color = Color.Red; | |
// Import the source document's custom style into the destination document. | |
Document dstDoc = new Document(); | |
Style newStyle = dstDoc.Styles.AddCopy(srcStyle); | |
// The imported style has an appearance identical to its source style. | |
Assert.AreEqual("MyStyle", newStyle.Name); | |
Assert.AreEqual(Color.Red.ToArgb(), newStyle.Font.Color.ToArgb()); |
Použít stávající stolní styl
Aspose.Words poskytuje TableStyle zděděné po Style třída. TableStyle usnadňuje uživateli aplikovat různé možnosti stylu, jako je stínování, vycpávání, odsazení, CellSpacing a Font, atd.
Kromě toho Aspose.Words poskytuje StyleCollection třída a několik vlastností Table
třída k určení, s jakým stylem tabulky budeme pracovat: Style, StyleIdentifier, StyleName, a StyleOptions.
Aspose.Words také poskytuje ConditionalStyle třída, která představuje speciální formátování aplikované na některé oblasti tabulky s přiřazeným způsobem tabulky, a ConditionalStyleCollection který představuje kolekci ConditionalStyle objekty. Tento soubor obsahuje stálou sadu položek představujících jednu položku pro každou hodnotu ConditionalStyleType typ výčtu. • ConditionalStyleType výčtu definuje všechny možné plochy tabulky, do kterých lze definovat podmíněný formátování ve stylu tabulky.
V tomto případě lze definovat podmínečné formátování pro všechny možné plochy tabulky definované pod Typem výčtu pod podmínkouStyleType.
Následující příklad kódu ukazuje, jak definovat podmíněný formát pro řádek záhlaví tabulky:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
Table table = builder.StartTable(); | |
builder.InsertCell(); | |
builder.Write("Name"); | |
builder.InsertCell(); | |
builder.Write("Value"); | |
builder.EndRow(); | |
builder.InsertCell(); | |
builder.InsertCell(); | |
builder.EndTable(); | |
TableStyle tableStyle = (TableStyle) doc.Styles.Add(StyleType.Table, "MyTableStyle1"); | |
tableStyle.ConditionalStyles.FirstRow.Shading.BackgroundPatternColor = Color.GreenYellow; | |
tableStyle.ConditionalStyles.FirstRow.Shading.Texture = TextureIndex.TextureNone; | |
table.Style = tableStyle; | |
doc.Save(ArtifactsDir + "WorkingWithTableStylesAndFormatting.DefineConditionalFormatting.docx"); |
Můžete si také vybrat, které části tabulky použít styly, jako je první sloupec, poslední sloupec, pruhované řádky. Jsou uvedeny v TableStyleOptions počet a jsou aplikovány prostřednictvím StyleOptions majetek. • TableStyleOptions počet umožňuje trochu kombinovat tyto funkce.
Následující příklad kódu ukazuje, jak vytvořit novou tabulku se stylem tabulky:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
Table table = builder.StartTable(); | |
// We must insert at least one row first before setting any table formatting. | |
builder.InsertCell(); | |
// Set the table style used based on the unique style identifier. | |
table.StyleIdentifier = StyleIdentifier.MediumShading1Accent1; | |
// Apply which features should be formatted by the style. | |
table.StyleOptions = | |
TableStyleOptions.FirstColumn | TableStyleOptions.RowBands | TableStyleOptions.FirstRow; | |
table.AutoFit(AutoFitBehavior.AutoFitToContents); | |
builder.Writeln("Item"); | |
builder.CellFormat.RightPadding = 40; | |
builder.InsertCell(); | |
builder.Writeln("Quantity (kg)"); | |
builder.EndRow(); | |
builder.InsertCell(); | |
builder.Writeln("Apples"); | |
builder.InsertCell(); | |
builder.Writeln("20"); | |
builder.EndRow(); | |
builder.InsertCell(); | |
builder.Writeln("Bananas"); | |
builder.InsertCell(); | |
builder.Writeln("40"); | |
builder.EndRow(); | |
builder.InsertCell(); | |
builder.Writeln("Carrots"); | |
builder.InsertCell(); | |
builder.Writeln("50"); | |
builder.EndRow(); | |
doc.Save(ArtifactsDir + "WorkingWithTableStylesAndFormatting.BuildTableWithStyle.docx"); |
Následující obrázky ukazují zastoupení Table Styles tro Microsoft Word a jejich odpovídající vlastnosti v Aspose.Words.
Vzít formátování z stolního stylu a aplikovat jej jako přímý formát
Aspose.Words také poskytuje ExpandTableStylesToDirectFormatting způsob, jak vzít formátování nalezené na stylu tabulky a rozšiřuje ji na řádky a buňky tabulky jako přímý formátování. Zkuste kombinovat formátování se stylem tabulky a buňky.
Následující příklad kódu ukazuje, jak rozšířit formátování ze stylů na řádky tabulky a buňky jako přímý formátování:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Tables.docx"); | |
// Get the first cell of the first table in the document. | |
Table table = (Table) doc.GetChild(NodeType.Table, 0, true); | |
Cell firstCell = table.FirstRow.FirstCell; | |
// First print the color of the cell shading. | |
// This should be empty as the current shading is stored in the table style. | |
Color cellShadingBefore = firstCell.CellFormat.Shading.BackgroundPatternColor; | |
Console.WriteLine("Cell shading before style expansion: " + cellShadingBefore); | |
doc.ExpandTableStylesToDirectFormatting(); | |
// Now print the cell shading after expanding table styles. | |
// A blue background pattern color should have been applied from the table style. | |
Color cellShadingAfter = firstCell.CellFormat.Shading.BackgroundPatternColor; | |
Console.WriteLine("Cell shading after style expansion: " + cellShadingAfter); |