Ez a rövid oktatóanyag leírja, hogyan lehet összevonni cellákat a Word-ben C# használatával. Tartalmazza az IDE beállításának részleteit, a lépések listáját, egy előre definiált függvényt a cellák kombinálásához, valamint egy mintakódot, amely bemutatja, hogyan lehet táblázatokat egyesíteni a Wordben C# használatával ennek az előre definiált függvénynek a segítségével. Ennek a feladatnak a végrehajtásához nincs szükség más, harmadik féltől származó eszközre.
A Word táblázat celláinak egyesítésének lépései C# használatával
- Állítsa be az IDE-t a Aspose.Words for .NET használatára a cellák táblázatban való kombinálásához
- Deklaráljon egy előre meghatározott MergeCells metódust az alkalmazásban való használatra
- Töltse be a forrás Word fájlt a Document objektumba, amelyben egy vagy több tábla található
- Nyissa meg a táblázatot a betöltött Word-fájlban a cellák egyesítéséhez
- A célösszevonási tartomány kezdő cell elérése
- Nyissa meg az egyesítési tartomány záró celláját
- Hívja meg a MergeCells() metódust a kezdő és záró cellák megadásával, és mentse el a dokumentumot
Ezek a lépések segítenek abban, hogy hogyan egyesítsen cellákat a Wordben C# használatával. Adja hozzá az előre meghatározott metódust a projekthez, és hívja meg az egyesíteni kívánt kezdő és záró cella megadásával. Megváltoztatja a forrásfájlt, ezért a betöltött Word fájlt más néven mentheti el, az egyesített cellákkal.
Kód cellák kombinálásához a Wordben C# használatával
using System; | |
using System.Drawing; | |
using Aspose.Words; | |
using Aspose.Words.Tables; | |
class Program | |
{ | |
static void MergeCells(Cell startCell, Cell endCell) | |
{ | |
Table parentTable = startCell.ParentRow.ParentTable; | |
// Find the start and end cell | |
Point startingCell = new Point(startCell.ParentRow.IndexOf(startCell), parentTable.IndexOf(startCell.ParentRow)); | |
Point endingCell = new Point(endCell.ParentRow.IndexOf(endCell), parentTable.IndexOf(endCell.ParentRow)); | |
// Create a range of cells | |
Rectangle mergeRange = new Rectangle(Math.Min(startingCell.X, endingCell.X),Math.Min(startingCell.Y, endingCell.Y), | |
Math.Abs(endingCell.X - startingCell.X) + 1, Math.Abs(endingCell.Y - startingCell.Y) + 1); | |
foreach (Row currentRow in parentTable.Rows) | |
{ | |
foreach (Cell currentCell in currentRow.Cells) | |
{ | |
Point currentPos = new Point(currentRow.IndexOf(currentCell), parentTable.IndexOf(currentRow)); | |
// Check if the current cell is inside the range | |
if (mergeRange.Contains(currentPos)) | |
{ | |
currentCell.CellFormat.HorizontalMerge = currentPos.X == mergeRange.X ? CellMerge.First : CellMerge.Previous; | |
currentCell.CellFormat.VerticalMerge = currentPos.Y == mergeRange.Y ? CellMerge.First : CellMerge.Previous; | |
} | |
} | |
} | |
} | |
static void Main(string[] args) | |
{ | |
License lic = new License(); | |
lic.SetLicense("license.lic"); | |
Document doc = new Document("Table.docx"); | |
Table table = doc.FirstSection.Body.Tables[0]; | |
// Define starting and ending cells | |
Cell cellStartRange = table.Rows[0].Cells[0]; | |
Cell cellEndRange = table.Rows[1].Cells[1]; | |
// Merge all the cells | |
MergeCells(cellStartRange, cellEndRange); | |
doc.Save("Output.docx"); | |
} | |
} |
Ez a kód bemutatja, hogyan lehet táblázatokat kombinálni a Wordben C# használatával. Hozzáadtunk egy előre definiált MergeCells metódust a definíciójával együtt, majd szükség esetén meghívjuk az alkalmazásunkban. Kijelölheti a szakaszt, a szakaszban lévő táblázatok listáját, és elérheti a céltáblát annak indexe segítségével, hogy kiválaszthassa az összevonás kezdő és záró celláját. Ezt a folyamatot megismételheti a kívánt számú cella egyesítéséhez.
Megtanultuk hogyan lehet cellákat egyesíteni a Microsoft Word programban C# használatával. Ha teljes Word-dokumentumot szeretne egyesíteni, olvassa el a Word dokumentumok egyesítése C# használatával című cikket.