Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
range.transpose() yöntemini kullanır ve her Excel sürümünde çalışır; ikincisi ise Excel 365 veya Excel 2021’de otomatik olarak yayılan modern bir dinamik dizi =TRANSPOSE(...) formülü yazmak için cell.setDynamicArrayFormula() yöntemini kullanır. Üçüncü yaklaşım ise eski Excel sürümleriyle uyumlu klasik bir Ctrl+Shift+Enter (CSE) dizi formülü yazmak için cell.setArrayFormula() yöntemini kullanır. Bu makale, her yaklaşımı adım adım talimatlar ve eksiksiz kod örnekleriyle ele alır.
Bir aralığı devrik çevirmek, onu döndürmek, yani satır olanı sütun, sütun olanı satır yapmak ve böylece veriyi esas köşegeni boyunca yansıtmak anlamına gelir. Microsoft Excel’de TRANSPOSE çalışma sayfası fonksiyonu bu işlemi gerçekleştirir ve kavramsal referans https://support.microsoft.com/en-us/excel/functions/transpose-function adresinde belgelenmiştir. Bu kavram, birçok iş ve raporlama senaryosunda faydalı olan, bir hücre aralığına programatik olarak uygulanabilir.
| Bölge | Avrupa | Asya | Kuzey Amerika |
|---|---|---|---|
| Çeyrek 1 | 21704714 | 8774099 | 12094215 |
| Çeyrek 2 | 17987034 | 12214447 | 10873099 |
| Çeyrek 3 | 19485029 | 14356879 | 15689543 |
| Çeyrek 4 | 22567894 | 15763492 | 17456723 |
| Makale daha sonra Aspose.Cells for Node.js via C++ kullanarak bu verileri devrik çevirmenin, her biri farklı bir Excel sürümüne ve kullanım durumuna uygun üç farklı yolunu sunar. |
TRANSPOSE çalışma sayfası fonksiyonunu devreye sokmadan veriyi devrik çevirmek istediğinizde bu yaklaşımı kullanın. Her Excel sürümünde çalışır ve dinamik dizilere bağımlılığı yoktur; bu da onu en güvenli sürümler arası uyumlu seçenek yapar. Yalnızca son devrik çıktıya ihtiyaç duyduğunuzda ve çalışma kitabında orijinal TRANSPOSE formülünü korumanız gerekmediğinde idealdir.
range.transpose(), Aspose.Cells.Range sınıfında bir örnek yöntemidir. Çağrıldığında, aralığı satır ve sütunlarını değiştirerek yerinde çevirir; böylece satır olan sütun, sütun olan satır olur. Yöntem, bir formül yazmadan doğrudan temel hücreleri değiştirir.
LoadOptions değerini .xlsx biçimine ayarlanmış şekilde kaynak çalışma kitabını new Workbook(srcFile, new LoadOptions(LoadFormat.Xlsx)) çağrısıyla açın.workbook.getWorksheets().get(0) kullanarak çalışma kitabından ilk çalışma sayfasını alın.worksheet.getCells() aracılığıyla çalışma sayfasının hücre koleksiyonuna erişin.cells.createRange("A1:D5") çağırarak A1:D5 aralığını kapsayan kaynak aralığı oluşturun.source.transpose() yöntemini çağırın.workbook.save(outputFile) ile kaydedin.
Devrik çevirme işleminden sonra başlangıçtaki çapa aralığı döndürülmüş veriyi tutar. İlk satır (boş, Avrupa, Asya, Kuzey Amerika) ve ilk sütun (boş, Çeyrek 1, Çeyrek 2, Çeyrek 3, Çeyrek 4) olarak okunur. Satışların orijinal her sütunu, devrik çevrilmiş aralıkta bir satır haline gelir.var srcFile = "source.xlsx";
var outputFile = "transposed.xlsx";
var workbook = new AsposeCells.Workbook(srcFile, new AsposeCells.LoadOptions(AsposeCells.LoadFormat.Xlsx));
var worksheet = workbook.getWorksheets().get(0);
var cells = worksheet.getCells();
var source = cells.createRange("A1:D5");
source.transpose();
workbook.save(outputFile);
=TRANSPOSE(A1:D5) formülünü çıktı çalışma kitabında canlı bir formül olarak korumak ve böylece kaynak veriler değişirse sonucun otomatik olarak güncellenmesini istediğinizde, hedef Excel dosyasının dinamik dizilerin ve yayılma operatörünün desteklendiği Excel 365 / Excel 2021 veya üzeri bir sürümde açılacağı durumlarda bu yaklaşımı kullanın.
cell.setDynamicArrayFormula(string formula, FormulaParseOptions options, bool calculateValue), Aspose.Cells.Cell üzerinde, hücrenin formülünü dinamik dizi formülü olarak ayarlayan bir yöntemdir. Excel formülü bir kez değerlendirir ve sonucu otomatik olarak çevreleyen hücrelere yayar. Üçüncü parametre true olarak ayarlandığında, Aspose.Cells’e yazma zamanında sonuç değerlerini de hesaplaması talimatını verir.
new Workbook(srcFile, new LoadOptions(LoadFormat.Xlsx)) kullanarak yükleyin.Cells koleksiyonuna erişin.cells.get("A6").setDynamicArrayFormula("=TRANSPOSE(A1:D5)", null, true) çağırarak kaynak aralığının hemen altındaki A6 hücresine dinamik dizi formülünü yerleştirin.null argümanı varsayılan FormulaParseOptions değerini geçer ve üçüncü true argümanı Aspose.Cells’e formülü dinamik dizi olarak ele almasını ve yayılan değerlerin çalışma kitabına yazılması için değerlendirmesini söyler.workbook.save(outputFile) ile kaydedin.
A6 hücresi =TRANSPOSE(A1:D5) formülünü tutar ve Excel sonucu otomatik olarak A6:D10 bölgesine yayar; bu da devrik çevrilmiş veriye eşdeğer 5 satır ve 4 sütunluk bir bloktur.const AsposeCells = require("aspose.cells");
const srcFile = "source.xlsx";
const outFile = "output_transpose_dynamic.xlsx";
const opts = new AsposeCells.LoadOptions(AsposeCells.LoadFormat.Xlsx);
const workbook = new AsposeCells.Workbook(srcFile, opts);
const worksheet = workbook.getWorksheets().get(0);
const cells = worksheet.getCells();
cells.get("A6").setDynamicArrayFormula("=TRANSPOSE(A1:D5)", new AsposeCells.FormulaParseOptions(), true);
workbook.save(outFile, AsposeCells.SaveFormat.Xlsx);
Çalışma kitabında bir TRANSPOSE formülünün korunmasını istediğiniz ancak hedef Excel dosyasının dinamik dizi yayılımının desteklenmediği eski Excel sürümlerinde (2021 öncesi, 2019, 2016, 2013 vb.) açılabileceği durumlarda bu yaklaşımı kullanın. Klasik CSE (Ctrl+Shift+Enter) dizi formülü, tüm Excel sürümlerinin değerlendirebileceği eski sürümlerle uyumlu alternatiftir.
cell.setArrayFormula(string arrayFormula, int nRows, int nColumns), Aspose.Cells.Cell üzerinde, çapa hücreye klasik dizi (CSE) formülü atayan ve sonuç dizisinin boyutlarını belirleyen bir yöntemdir. Aspose.Cells, çok hücreli dizi formülü işaretçisini yazar; böylece Excel formülü, belirtilen aralığı dolduran tek bir dizi ifadesi olarak değerlendirir.
Cells koleksiyonuna erişin.cells.get("A6").setArrayFormula("=TRANSPOSE(A1:D5)", 4, 5) çağrısını yapın. İkinci argüman 4 hedef dizinin satır sayısı, üçüncü argüman 5 ise sütun sayısıdır.workbook.save(outputFile) ile kaydedin.
A6 hücresi dizi formülünün çapasıdır ve değerlendirilen dizi, A1:D5 kaynağının devrik boyutlarıyla eşleşen şekilde A6’dan başlayarak 4 satır ve 5 sütun olarak yayılır. Excel, sonuç aralığı boyunca tek bir dizi formülü işaretçisi yazar; böylece eski Excel sürümleri onu doğru şekilde değerlendirir.TRANSPOSE ifadesini değerlendirmenin klasik Excel yoludur ve bu yaklaşım Excel sürümleri arasında evrensel olarak uyumludur.
const AsposeCells = require("aspose.cells");
// Load the source workbook with xlsx LoadOptions
const srcFile = "source.xlsx";
const workbook = new AsposeCells.Workbook(srcFile, new AsposeCells.LoadOptions(AsposeCells.LoadFormat.Xlsx));
// Access the first worksheet and its Cells collection
const worksheet = workbook.getWorksheets().get(0);
const cells = worksheet.getCells();
// Set the classic CSE array formula on cell A6.
// The formula =TRANSPOSE(A1:D5) rotates the 5-row x 4-column source range
// into a 4-row x 5-column array. The second argument (4) is the number of rows
// and the third argument (5) is the number of columns of the resulting array.
// Aspose.Cells writes the CSE array-formula marker so Excel evaluates it as
// a single multi-cell array formula, compatible with older Excel versions
// (2019, 2016, 2013, etc.) that do not support dynamic array spilling.
cells.get("A6").setArrayFormula("=TRANSPOSE(A1:D5)", 4, 5);
// Save the workbook so the array-formula marker is persisted
workbook.save("output.xlsx");
| Yaklaşım | API / Yöntem | Excel Sürümü | Kaynak formül korunuyor mu? | Çıktı aralığı |
|---|---|---|---|---|
| Yaklaşım 1 — Yerinde devrik çevirme | range.transpose() |
Tüm Excel sürümleri | Hayır (yalnızca değerler) | Başlangıç çapa aralığı, 5×4 |
| Yaklaşım 2 — Dinamik dizi formülü | cell.setDynamicArrayFormula |
Excel 365 / 2021+ | Evet (dinamik olarak yayılır) | Çapadan yayılır |
| Yaklaşım 3 — Klasik dizi formülü (CSE) | cell.setArrayFormula |
Tüm Excel sürümleri | Evet (çok hücreli dizi formülü) | Açık boyut, 4×5 |
| Yalnızca devrik çevrilmiş değerlerin dosyaya yazılmasına ihtiyaç duyduğunuz hızlı, sürümler arası bir dönüşüme ihtiyacınız olduğunda Yaklaşım 1‘i kullanın. Modern Excel’in garanti olduğu ve formülün canlı kalmasını, kaynak değişirse güncellenmesini istediğiniz durumlarda Yaklaşım 2‘yi kullanın. Dinamik dizileri desteklemeyen eski sürümler dahil her Excel sürümünde korunan bir formülle en geniş uyumluluğa ihtiyaç duyduğunuzda Yaklaşım 3‘ü kullanın. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.