Excel Satırlarını ve Sütunlarını C#'da Otomatik Olarak Yeniden Boyutlandırma
IronXL, hücre içeriğine dayalı olarak boyutları ayarlayan AutoSizeRow() ve AutoSizeColumn() gibi yöntemlerle C#'da otomatik satır ve sütun boyutlandırma sağlar, elle hesap tablosu biçimlendirmesini ortadan kaldırır ve birleştirilmiş hücre hesaplamalarını destekler. Bu özellik, hücre boyutlarını içeriğine dinamik olarak uyarlayarak Excel iş akışlarını otomatikleştirir, böylece manuel müdahale olmadan profesyonel elektronik tablolar sağlar.
Hızlı Başlangıç: Tek Bir Çağrı ile Sütun veya Satırı Otomatik Olarak Yeniden Boyutlandırma
IronXL ile herhangi bir satırı veya sütunu tek bir satırda yeniden boyutlandırabilirsiniz. Hücre içeriğine dayalı olarak boyutları ayarlamak için (birleştirilmiş hücreler isteğe bağlı) WorkSheet.AutoSizeColumn(int, bool) veya WorkSheet.AutoSizeRow(int, bool) kullanın. Bu yaklaşım, Excel kurulumu gerektirmeden tüm .NET platformlarında çalışır.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronXl.Excel yükleyin
PM > Install-Package IronXl.Excel -
Bu kod parçasını kopyalayıp çalıştırın.
// One-line: auto-resize column A including merged cells workSheet.AutoSizeColumn(0, true); // Or auto-resize row 5 quickly workSheet.AutoSizeRow(4, true); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronXL kullanmaya başlayın ücretsiz deneme ile
Minimal İş Akışı (5 adımda)
- Excel'de satır ve sütunları otomatik olarak yeniden boyutlandırmak için C# kütüphanesini indirin
- İstediğiniz Excel dosyasını içe aktarın
AutoSizeRowyöntemini kullanarak satırları otomatik olarak yeniden boyutlandırınAutoSizeColumnyöntemini kullanarak sütunları içerik genişliğine göre yeniden boyutlandırın- Yükseklik ve genişlik değerlerini gereksinimlerinize göre ayarlayın
Satırları Nasıl Otomatik Yeniden Boyutlandırırım?
AutoSizeRow yöntemi, belirtilen satırların yüksekliğini içeriklerine göre otomatik olarak yeniden boyutlandırır. Bu özellik, hücrelerdeki tüm metnin görülebilir olmasını sağlar, kesilmeyi önleyerek okunabilirliği artırır. When working with Excel files without Interop, IronXL calculates optimal row height based on font size, cell content, and formatting attributes.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-rows.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize on row 2
workSheet.AutoSizeRow(1);
workBook.SaveAs("autoResize.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize on row 2
workSheet.AutoSizeRow(1)
workBook.SaveAs("autoResize.xlsx")
Otomatik yeniden boyutlandırma algoritması, yazı tipi ölçümleri, hücre dolgusu ve metin kaydırma ayarlarını göz önünde bulundurarak en uygun yüksekliği belirler. Geleneksel Excel otomasyonundan geçiş yapan geliştiriciler için, bu, Excel kurulumu gerektirmeyen verimli bir alternatif sunar.
Sonuç Nasıl Görünür?
Sütunları Nasıl Otomatik Yeniden Boyutlandırırım?
İçerik uzunluğuna dayalı olarak sütun genişliğini ayarlamak için AutoSizeColumn yöntemini kullanın. Bu yöntem, her bir sütundaki en uzun içeriği analiz eder ve genişliği buna göre ayarlar, böylece tüm veriler yatay kaydırma olmadan görünür olur. Algoritma, metin uzunluğu, sayı formatı, tarih gösterimleri ve gerekli genişliği etkileyen diğer hücre biçimlendirmelerini dikkate alır.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize to rows individually
workSheet.AutoSizeRow(0, true);
workSheet.AutoSizeRow(1, true);
workSheet.AutoSizeRow(2, true);
workBook.SaveAs("advanceAutoResizeRow.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize to rows individually
workSheet.AutoSizeRow(0, True)
workSheet.AutoSizeRow(1, True)
workSheet.AutoSizeRow(2, True)
workBook.SaveAs("advanceAutoResizeRow.xlsx")
Finansal veri veya raporlarla çalışırken, doğru boyutlandırılmış sütunlar okunabilirlik için çok önemlidir. IronXL's auto-resize functionality integrates with features like cell borders and alignment to create professional spreadsheets.
Sonuç Nasıl Görünür?
Birleştirilmiş Hücrelerle Gelişmiş Satır Yeniden Boyutlandırmayı Nasıl Yaparım?
AutoSizeRow yönteminin başka bir aşırı yüklemesi ikinci bir Boolean parametresini alır. Bu parametre, yeniden boyutlandırırken birleştirilmiş hücreleri dikkate almanıza olanak tanır. When working with merged cells in Excel, auto-resize behavior becomes more complex as content spans multiple cells.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize to rows individually
workSheet.AutoSizeRow(0, true);
workSheet.AutoSizeRow(1, true);
workSheet.AutoSizeRow(2, true);
workBook.SaveAs("advanceAutoResizeRow.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize to rows individually
workSheet.AutoSizeRow(0, True)
workSheet.AutoSizeRow(1, True)
workSheet.AutoSizeRow(2, True)
workBook.SaveAs("advanceAutoResizeRow.xlsx")
Birleştirilmiş Hücre Hesaplaması Nasıl Çalışır?
Eğer içerik 192 piksel yüksekliğinde ve 3 satır kapsayan bir birleştirilmiş bölgede bulunuyorsa, bu satırlardan herhangi birine otomatik yeniden boyutlandırma uygulandığında, algoritma 192 pikseli 3'e böler ve her satır için 64 piksel elde eder. AutoSizeRow yöntemi, her satıra bireysel olarak uygulanmalıdır. Bu dağılım, birleştirilmiş içeriğin, birleştirilmiş bölgedeki tüm satırlara düzgün bir şekilde görüntülenmesini sağlar.
Değer false olarak ayarlanırsa ne olur?
Yanlış olarak ayarlandığında, AutoSizeRow yöntemi, en yüksek içeriğe sahip hücreye dayalı olarak satır yüksekliğini ayarlar. In Microsoft Excel, merging cells retains only the upper-left value and clears the rest. However, IronXL's Merge operation preserves values of other cells in the merged region, providing more flexibility with complex spreadsheets.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows-false.cs
using IronXL;
workSheet.Merge("A1:A3");
workSheet.AutoSizeRow(0, false);
workSheet.AutoSizeRow(1, false);
workSheet.AutoSizeRow(2, false);
Imports IronXL
workSheet.Merge("A1:A3")
workSheet.AutoSizeRow(0, False)
workSheet.AutoSizeRow(1, False)
workSheet.AutoSizeRow(2, False)
For demonstration purposes, I manually adjusted row height instead of using the Excel autofit row height function to avoid adding noticeable top and bottom padding.
useMergedCells parametresi yanlış olarak ayarlandığında, birleştirilmiş hücre yüksekliği dikkate alınmaz. Her satırın yüksekliği yalnızca içeriğine göre hesaplanır. Bu yaklaşım, birleştirilmiş bölgelerden bağımsız olarak tutarlı satır yüksekliklerini korur.
Birleştirilmiş Hücrelerle Gelişmiş Sütun Yeniden Boyutlandırmayı Nasıl Yaparım?
AutoSizeRow'ya benzer şekilde, sütun boyutlandırmasını birleştirilmiş hücre genişliğini dikkate alacak şekilde yapabilirsiniz. true olarak ayarlandığında, birleştirilmiş hücre en uzun içeriğe sahipse, yeniden boyutlandırılmış sütun genişliği, birleştirilmiş bölgedeki sütun sayısına bölünen birleştirilmiş hücrenin genişliğine eşit olur. This feature helps when creating spreadsheets with complex layouts.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize to columns individually
workSheet.AutoSizeColumn(0, true);
workSheet.AutoSizeColumn(1, true);
workSheet.AutoSizeColumn(2, true);
workBook.SaveAs("advanceAutoResizeColumn.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize to columns individually
workSheet.AutoSizeColumn(0, True)
workSheet.AutoSizeColumn(1, True)
workSheet.AutoSizeColumn(2, True)
workBook.SaveAs("advanceAutoResizeColumn.xlsx")
Birleştirilmiş Hücre Genişlik Hesaplaması Nasıl Çalışır?
Eğer içerik, 2 sütun kapsayan bir birleştirilmiş bölgede 117 piksel genişliğindeyse, herhangi bir sütuna otomatik yeniden boyutlandırma uygulamak, her sütun için 59 piksel elde edilmesiyle sonuçlanır. AutoSizeColumn yöntemi, her sütuna bireysel olarak uygulanmalıdır. Bu orantılı dağılım, birleştirilmiş içeriğin, birleştirilmiş bölgedeki tüm sütunlara düzgün bir şekilde görüntülenmesini sağlar.
Değer false olarak ayarlanırsa ne olur?
false olarak ayarlandığında, AutoSizeColumn yöntemi, en uzun içeriğe sahip hücreye dayalı olarak genişliği ayarlar. In Microsoft Excel, merging cells keeps only the upper-left value and erases the rest. However, IronXL's Merge method preserves values of other cells in the merged region, giving developers more control over their data.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns-false.cs
workSheet.Merge("A1:B1");
workSheet.AutoSizeColumn(0, false);
workSheet.AutoSizeColumn(1, false);
workSheet.Merge("A1:B1")
workSheet.AutoSizeColumn(0, False)
workSheet.AutoSizeColumn(1, False)
Birleştirilmiş hücre genişliği önceliklendirilmedi, bu da genişlik değişikliklerinin olmamasına yol açtı çünkü her sütunun genişliği içeriğinin genişliğine göre hesaplandı.
Excel ve IronXL Otomatik Yeniden Boyutlandırma Arasındaki Farklar Nelerdir?
Excel'in yerel otomatik uyum işlevselliği ile IronXL'ın uygulaması arasındaki farkları anlamak, geliştiricilerin elektronik tablo işlemlerini otomatikleştirirken bilinçli kararlar almasına yardımcı olur. Bu farklar, platformlar arasında tutarlılık sağlamak veya hücre boyutlandırması üzerinde kesin kontrol gerektiğinde önemlidir.
Satırlar Nasıl Farklıdır?
Excel'in satır yüksekliği otomatik ayarlama işlevi, hücrelere belirgin üst ve alt boşluk uygular. IronXL, içerik için gerekli kesin alanı, ek dolgu olmadan hesaplayarak satır yükseklikleri üzerinde hassas kontrol sağlar. Bu fark, yoğun veri ile veya kesin yazdırma düzenleri gerektiğinde önemlidir.
Sütunlar Nasıl Farklıdır?
Excel'in sütun genişliği otomatik ayarlama işlevi hücrelere sol ve sağ boşluk uygular, ancak daha az fark edilebilir. IronXL focuses on exact content width, beneficial when working with automated reporting systems where space optimization is crucial.
Yükseklik ve Genişliği Manuel Olarak Nasıl Yeniden Boyutlandırırım?
Boyutları otomatik olarak hesaplamak ve ayarlamak için AutoSizeRow ve AutoSizeColumn yöntemlerini kullanmanın yanı sıra, belirli gereksinimlere uyması için sütun ve satır genişliğini ve yüksekliğini manuel olarak ayarlayabilirsiniz. Manuel boyutlandırma, standartlaştırılmış rapor formatları uygularken veya belirli boyutlar gerektiren şablonlarla çalışırken kullanışlıdır.
- Yüksekliği ayarla:
RangeRow'ninHeightözelliğini ayarlayın - Genişliği ayarla:
RangeColumn'ninWidthözelliğini ayarlayın
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-manual.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 10; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 10; // Set width
workBook.SaveAs("manualHeightAndWidth.xlsx");
Imports IronXL
' Load existing spreadsheet
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
Dim row As RangeRow = workSheet.GetRow(0)
row.Height = 10 ' Set height
Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 10 ' Set width
workBook.SaveAs("manualHeightAndWidth.xlsx")
Excel Yükseklik ve Genişlik için Hangi Birimleri Kullanıyor?
Excel'de yükseklik ve genişlik ölçü birimleri farklıdır. Yükseklik 1/20 nokta cinsinden ölçülürken, genişlik, Normal stilinde belirtilen yazı tipini kullanarak hücreye sığan "0" sayısına dayanır. When working with IronXL's API, understanding these conversions is essential for precise layouts.
Birim dönüşümünü basitleştirmek için, Microsoft Excel'deki IronXL değerlerini ekran pikselleri olarak yorumlayın. Bir piksel, ekran çözünürlüğüne bakılmaksızın 1/96 inç olarak tanımlanır. Excel, çözünürlükten bağımsızdır ve fiziksel piksellere dayanmaz.
IronXL ve Excel yükseklik ve genişlik ölçümleri arasındaki ilişki:
- Yükseklik:
RangeRow.Height = 10yaklaşık olarak1 pixelsonucunu verir - Genişlik:
RangeColumn.Width = 23.2551 piksele karşılık gelir
Elektronik tablo düzeni kontrolü için hassasiyet gerektiren geliştiriciler için, bu dönüşüm faktörleri doğru boyut hesaplamalarını sağlar. Diğer biçimlendirme özellikleri ile birleştirildiğinde, manuel boyutlandırma, Excel belgelerinin görünümü üzerinde tam kontrol sağlar. Remember to apply your license key when deploying applications using these features in production.
Sıkça Sorulan Sorular
Excel satırlarını içerik temelinde C#'da otomatik olarak nasıl yeniden boyutlandırabilirim?
IronXL, hücre içeriği temelinde satır yüksekliklerini otomatik olarak ayarlamak için AutoSizeRow metodunu sağlar. Sadece sıfır bazlı satır numarasının verildiği workSheet.AutoSizeRow(rowIndex, includeMergedCells) çağrısını yapın. Metod, font boyutu, hücre içeriği ve biçimlendirme özellikleri analiz edilerek optimal yüksekliği hesaplar, tüm metnin kesilmeden görünür olmasını sağlar.
Excel hesap tablolarında sütunları programatik olarak otomatik olarak yeniden boyutlandırabilir miyim?
Evet, IronXL, sütun genişliklerini otomatik olarak ayarlamak için AutoSizeColumn metodunu sunar. Uzunluklarına göre sütunları yeniden boyutlandırmak için workSheet.AutoSizeColumn(columnIndex, includeMergedCells) kullanın. Algoritma, metin uzunluğu, sayı biçimlendirme, tarih gösterimleri ve diğer hücre biçimlendirmelerini dikkate alarak optimal genişliği belirler.
Otomatik yeniden boyutlandırma birleşik hücrelerle çalışır mı?
IronXL, AutoSizeRow ve AutoSizeColumn yöntemlerindeki boolean parametre aracılığıyla birleşik hücreler için otomatik yeniden boyutlandırmayı destekler. Uygun boyutları belirlerken birleşik hücre hesaplamalarını dahil etmek için ikinci parametreyi true olarak ayarlayın (örneğin, workSheet.AutoSizeColumn(0, true)).
Satır ve sütunları otomatik yeniden boyutlandırırken hangi faktörler dikkate alınır?
IronXL'nin otomatik yeniden boyutlandırma algoritması, font metrikleri, hücre dolgusu, metin sarma ayarları, sayı biçimlendirme, tarih gösterimleri ve hücre kenarlıkları gibi birçok faktörü dikkate alır. Bu kapsamlı yaklaşım, manuel müdahale gerektirmeyen, tüm içeriği barındıran uygun boyutlu hücrelerle profesyonel görünüm sağlar.
Otomatik yeniden boyutlandırma özelliklerini kullanmak için Microsoft Excel yüklü mü olmalı?
Hayır, IronXL, Excel yüklemesi gerektirmeden bağımsız olarak çalışır. Kütüphane, tüm hesaplamaları dahili olarak yapar, bu da Excel'in kurulamadığı sunucu ortamları ve dağıtım senaryoları için idealdir. Bu yaklaşım, tüm .NET platformlarında çalışır.
Birden fazla satır veya sütunu aynı anda otomatik yeniden boyutlandırabilir miyim?
IronXL'nin AutoSizeRow ve AutoSizeColumn yöntemleri bireysel satır/sütunlarda çalışırken, onları yeniden boyutlandırmak için birkaç öğeyi kolayca döngüden geçirebilirsiniz. Bu, tüm hesap tablolarının veya belirli aralıkların toplu olarak işlenmesine olanak tanır ve Excel iş akışlarını verimli bir şekilde otomatikleştirir.

