W tym artykule dowiesz się, jak scalać lub rozdzielać komórki programu Excel w arkuszu w języku C#. Ogólnie, scalanie komórek odnosi się do jednej lub więcej komórek połączonych ze sobą w celu utworzenia dużej komórki. Jednak sąsiednie komórki można scalać w pionie lub poziomie. Natomiast konwersja dużej komórki na wiele komórek jest znana jako rozłączanie lub dzielenie komórek w arkuszu programu Excel. Przyjrzyjmy się następującym przypadkom użycia:

Scal komórki programu Excel w arkuszu kalkulacyjnym za pomocą języka C#

Możesz łatwo łączyć komórki w arkuszu kalkulacyjnym programu Excel za pomocą interfejsu API Aspose.Cells for .NET przy użyciu języka C#. W tym przykładzie utworzymy od podstaw nowy arkusz programu Excel, a następnie połączymy kilka komórek, wykonując poniższe czynności:

  1. Utwórz obiekt Workbook.
  2. Zdobądź pierwszy workkeet
  3. Scal określone komórki
  4. Umieść wartość w scalonej komórce
  5. Zastosuj style w komórce
  6. Zapisz wyjściowy arkusz programu Excel

Poniższy fragment kodu pokazuje, jak scalić komórki w arkuszu programu Excel z C#:

// Utwórz skoroszyt.
Workbook wbk = new Workbook();

// Utwórz arkusz roboczy i zdobądź pierwszy arkusz.
Worksheet worksheet = wbk.Worksheets[0];

// Utwórz obiekt Cells, aby pobrać wszystkie komórki.
Cells cells = worksheet.Cells;

// Połącz kilka komórek (C6:E7) w jedną komórkę C6.
cells.Merge(5, 2, 2, 3);

// Wprowadź dane do komórki C6.
worksheet.Cells[5, 2].PutValue("This is my value");

// Utwórz obiekt stylu, aby pobrać styl komórki C6.
Style style = worksheet.Cells[5, 2].GetStyle();

// Utwórz obiekt czcionki
Font font = style.Font;

// Ustaw nazwę.
font.Name = "Times New Roman";

// Ustaw rozmiar czcionki.
font.Size = 18;

// Ustaw kolor czcionki
font.Color = System.Drawing.Color.Blue;

// Pogrub tekst
font.IsBold = true;

// Zrób to kursywą
font.IsItalic = true;

// Ustaw kolor tła komórki C6 na czerwony
style.ForegroundColor = System.Drawing.Color.Red;
style.Pattern = BackgroundType.Solid;

// Zastosuj styl do komórki C6.
cells[5, 2].SetStyle(style);

// Zapisz skoroszyt.
wbk.Save(dataDir + "MergeCells.xlsx");

Plik wyjściowy wygenerowany z tego fragmentu kodu będzie zawierał scalone komórki, jak na poniższym zrzucie ekranu:

Połącz komórki

Rozdziel komórki Excela w arkuszu kalkulacyjnym za pomocą C#

Nauczyliśmy się łączyć komórki w pliku Excel. Pociągnijmy ten proces o krok dalej. Tutaj rozważymy rozłączenie komórek w arkuszu programu Excel, wykonując poniższe czynności:

  1. Załaduj źródłowy plik Excel
  2. Utwórz obiekt Worksheet i uzyskaj dostęp do pierwszego arkusza
  3. Rozdziel komórki
  4. Zapisz plik wyjściowy

Poniższy fragment kodu opiera się na tych krokach i pokazuje, jak rozłączyć komórki w pliku Excela za pomocą C#:

// Otwórz plik Excela.
Workbook wbk = new Workbook(dataDir + "MergeCells.xlsx");

// Utwórz arkusz roboczy i zdobądź pierwszy arkusz.
Worksheet worksheet = wbk.Worksheets[0];

// Utwórz obiekt Cells, aby pobrać wszystkie komórki.
Cells cells = worksheet.Cells;

// Rozdziel komórki.
cells.UnMerge(5, 2, 2, 3);

// Zapisz plik.
wbk.Save(dataDir + "UnmergeCells.xlsx");

Poniższy obraz pokazuje, jak wyglądają niescalone komórki po uruchomieniu powyższego kodu w swoim środowisku:

Rozdziel komórki

Połącz zakres komórek programu Excel w arkuszu za pomocą języka C#

Czasami istnieje kilka komórek określonych w różnych zakresach komórek. Możesz chcieć scalić określony zakres komórek w arkuszu Excel. W takich sytuacjach wykonaj czynności wymienione poniżej:

  1. Utwórz obiekt Workbook.
  2. Uzyskaj dostęp do pierwszego arkusza
  3. Wprowadź dane w komórce
  4. Utwórz i Połącz zakres
  5. Zapisz wyjściowy plik programu Excel

Poniższy fragment kodu pokazuje, jak scalić zakres komórek w jedną większą komórkę w pliku Excel przy użyciu języka C#:

// Utwórz skoroszyt
Workbook workbook = new Workbook();

// Uzyskaj dostęp do pierwszego arkusza
Worksheet worksheet = workbook.Worksheets[0];

// Wprowadź dane do komórki C6.
worksheet.Cells[0, 0].PutValue("Merge Range");

// Utwórz zakres
Range range = worksheet.Cells.CreateRange("A1:D4");

// Scal zakres w jedną komórkę
range.Merge();

// Zapisz skoroszyt
workbook.Save(dataDir + "Merge_Range.xlsx");

Rozdziel zakres komórek Excela w arkuszu kalkulacyjnym za pomocą C#

W poprzednim przykładzie zbadaliśmy scalanie zakresu komórek w programie Excel. Przejdźmy do rozłączenia scalonych komórek, wykonując poniższe czynności:

  1. Załaduj źródło skoroszyt
  2. Specyficzny dostęp Arkusz
  3. Utwórz obiekt Zasięg.
  4. Wywołaj metodę UnMerge.
  5. Zapisz wyjściowy plik Excel

Poniższy fragment kodu wykonuje następujące kroki i pokazuje, jak rozłączyć zakres komórek w arkuszu programu Excel przy użyciu języka C#:

// Utwórz skoroszyt
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Uzyskaj dostęp do pierwszego arkusza
Worksheet worksheet = workbook.Worksheets[0];

// Utwórz zakres
Range range = worksheet.Cells.CreateRange("A1:D4");

// Usuń zakres scalania
range.UnMerge();

// Zapisz skoroszyt
workbook.Save(dataDir + "UnmergeRange.xlsx");

Połącz komórki programu Excel o nazwanym zakresie w arkuszu kalkulacyjnym z C#

Czasami pliki programu Excel zawierają kilka nazwanych zakresów, ponieważ łatwo je zidentyfikować i odpowiednio nimi manipulować. W związku z tym można również scalić dowolny nazwany zakres, określając jego nazwę. W rezultacie wszystkie komórki w tym nazwanym zakresie zostaną połączone w jedną większą komórkę. Musisz wykonać następujące kroki:

  1. Załaduj źródło programu Excel skoroszyt
  2. Uzyskaj dostęp do Worksheet zawierającego nazwany zakres
  3. Zdefiniuj i zastosuj styl
  4. Scalanie Nazwany zakres
  5. Zapisz plik wyjściowy

Poniższy fragment kodu wyjaśnia, jak scalić komórki w nazwanym zakresie w języku C#:

// Załaduj skoroszyt
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Uzyskaj dostęp do pierwszego arkusza
Worksheet worksheet = workbook.Worksheets[0];

// Określ zakres
Range range = worksheet.Cells.CreateRange("A1:D4");


range.Name = "Named_Range";

// Uzyskaj zasięg.
Range range1 = workbook.Worksheets.GetRangeByName("Named_Range");

// Zdefiniuj obiekt stylu.
Style style = workbook.CreateStyle();

// Ustaw wyrównanie.
style.HorizontalAlignment = TextAlignmentType.Center;

// Utwórz obiekt StyleFlag.
StyleFlag flag = new StyleFlag();
// Włącz atrybut stylu względnego.
flag.HorizontalAlignment = true;

// Zastosuj styl do zakresu.
range1.ApplyStyle(style, flag);

// Wprowadź dane do zakresu.
range1[0, 0].PutValue("Aspose");

// Scal zakres
range.Merge();

// Zapisz skoroszyt
workbook.Save(dataDir + "Merge_NamedRange.xlsx");

Dane wyjściowe powyższego fragmentu kodu będą takie same jak na poniższym obrazku:

Scal nazwany zakres

Wniosek

Scalanie lub rozłączanie komórek w skoroszytach i arkuszach programu Excel to ważna i przydatna funkcja. W tym artykule zebraliśmy różne możliwe przypadki użycia wraz ze wszystkimi krokami i obrazami. Teraz możesz łatwo wykonać te kroki i scalić lub rozłączyć komórki, zakresy lub nazwane zakresy w plikach Excel. W przypadku jakichkolwiek pytań lub wątpliwości możesz skontaktować się z nami za pośrednictwem Bezpłatnego forum pomocy.

Zobacz też