Cellák egyesítése a Wordben C# használatával

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

  1. Á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
  2. Deklaráljon egy előre meghatározott MergeCells metódust az alkalmazásban való használatra
  3. Töltse be a forrás Word fájlt a Document objektumba, amelyben egy vagy több tábla található
  4. Nyissa meg a táblázatot a betöltött Word-fájlban a cellák egyesítéséhez
  5. A célösszevonási tartomány kezdő cell elérése
  6. Nyissa meg az egyesítési tartomány záró celláját
  7. 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.

 Magyar