IRONSOFTWAREHOME
DIĞER BILEŞENLERLE KARŞILAŞTIRIN

VB.NET Dizilere Excel Dosyasi Okuma: IronXL vs Microsoft Interop

Curtis Chau
Curtis Chau
Updated: 19 Temmuz 2026

VB.NET'te dizilere Excel verilerini okuma, bir çalışma kitabını yüklemeyi, bir çalışma sayfası seçmeyi, satır ve sütunları yinelemeyi ve her hücre değerini iki boyutlu bir diziye kaydetmeyi gerektirir. IronXL ile bu işlemi birkaç satırda, Microsoft Office yüklemeden gerçekleştirin. NuGet paketini yükleyin, WorkBook.Load çağırın, bir Range alın, ardından dizinizi doldurmak için Rows koleksiyonunu döngüleyin.

Ücretsiz deneme sürümünüzü başlatın ve IronXL'nin Visual Studio projelerinizde Excel otomasyonunu nasıl basitleştirdiğini keşfedin.

Bu Çözümler Bir Bakışta Nasıl Karşılaştırılır?

IronXL vs Microsoft Office Interop -- VB.NET Dizi İşlemleri için Özellik Karşılaştırması
ÖzellikIronXLMicrosoft Office Interop
Ofis yüklemesi gereklidirHayırEvet
NuGet kurulumuEvet -- bir paketHayır -- COM referansı
Sunucu/CI ortam desteğiEvetSınırlı
COM nesnesi yaşam döngüsü yönetimiGerekli değildirGerekli
Desteklenen formatlarXLSX, XLS, CSV, TSV, JSONXLSX, XLS (sadece Excel)
Tip güvenli APIEvetKısmi -- geç bağlı COM
Linux / macOS desteğiEvet (.NET 6+)Hayır
İstisna yönetimi stiliStandart .NET istisnalarıCOM istisnaları + manuel temizlik

VB.NET Projeleri için IronXL Nasıl Yüklenir?

IronXL'yi herhangi bir .NET projesine eklemenin en hızlı yolu NuGet Paket Yöneticisi aracılığıyladır. Visual Studio'da Paket Yöneticisi Konsolunu açın ve şu komutu çalıştırın:

PM > Install-Package IronXL.Excel

Alternatif olarak, .NET CLI'yi kullanın:

dotnet add package IronXL.Excel

Kurulumdan sonra, VB.NET modülünüzün en üstüne Imports IronXL ekleyin. Office yüklemesine gerek yoktur -- IronXL, Excel dosyalarını tamamen kendi analiz motoru aracılığıyla okur ve yazar.

Daha eski çerçeveleri hedefleyen veya belirli bir sürüm sabitlemesi gerektiren projeler için, IronXL NuGet sayfası yayınlanan tüm sürümleri listeler. IronXL belgeleri, Visual Studio 2019, 2022 ve .NET CLI için kurulum kılavuzları sunmaktadır.

Geliştiriciler IronXL Kullanarak Excel Verilerini Dizilere Nasıl Okur?

IronXL, yerel bir Office yüklemesi gerektirmeden, çalışma kitaplarını açmak, aralıklar seçmek ve hücre değerlerini yinelemek için temiz bir API sağlar. WorkBook.Load metodu, bir dosya yolu alır ve tüm çalışma sayfalarını açığa çıkaran bir WorkBook nesnesi döndürür.

Imports IronXL

Module ReadExcelToArray
    Sub Main()
        ' Load the Excel workbook from a file path
        Dim workbook As WorkBook = WorkBook.Load("SalesData.xlsx")

        ' Access the first worksheet in the workbook
        Dim sheet As WorkSheet = workbook.DefaultWorkSheet

        ' Define the cell range to extract
        Dim dataRange As IronXL.Range = sheet.GetRange("A1:D5")

        ' Determine array dimensions from the range
        Dim rowCount As Integer = dataRange.Rows.Count
        Dim colCount As Integer = dataRange.Columns.Count
        Dim salesArray(rowCount - 1, colCount - 1) As String

        ' Populate the two-dimensional array from cell values
        Dim rowIndex As Integer = 0
        For Each row As RangeRow In dataRange.Rows
            Dim colIndex As Integer = 0
            For Each cell As Cell In row
                salesArray(rowIndex, colIndex) = cell.StringValue
                colIndex += 1
            Next
            rowIndex += 1
        Next

        ' Print each row to the console
        Console.WriteLine("Data loaded into array:")
        For i As Integer = 0 To rowCount - 1
            For j As Integer = 0 To colCount - 1
                Console.Write(salesArray(i, j) & vbTab)
            Next
            Console.WriteLine()
        Next
    End Sub
End Module

WorkBook ve WorkSheet Nesnelerini Anlamak

WorkBook.Load, XLSX, XLS, CSV ve TSV dosyalarını destekler. Yüklendikten sonra, workbook.DefaultWorkSheet ilk sayfayı döndürür. Ayrıca, workbook.GetWorkSheet("Sheet1") ile ada göre veya workbook.WorkSheets(0) ile indekse göre sayfalara erişebilirsiniz.

GetRange("A1:D5") çağrısı, Rows ve Columns koleksiyonlarını açığa çıkaran bir IronXL.Range döndürür. Her RangeRow, Cell nesnelerini döngüler; ve cell.StringValue, alttaki hücre tipine bakılmaksızın görüntüleme dizesini döndürür.

Tipli Hücre Değerlerini Nasıl Yönetirsiniz?

IronXL hücreleri, StringValue yanında türle ilgili özellikler açığa çıkarır:

  • cell.IntValue -- hücreyi bir tamsayı olarak çözümler
  • cell.DoubleValue -- hücreyi bir double olarak çözümler
  • cell.DateTimeValue -- tarih formatlı hücreleri çözümler
  • cell.IsFormula -- hücrenin bir formül içerip içermediğini belirtir

Finansal veriler için diziyi Double olarak belirleyin ve cell.DoubleValue doğrudan atayın. Bu, aşağı yöndeki işlem sırasında dizgi-sayı dönüşümlerinden kaçınır.

Imports IronXL

Module ReadExcelToDoubleArray
    Sub Main()
        Dim workbook As WorkBook = WorkBook.Load("Revenue.xlsx")
        Dim sheet As WorkSheet = workbook.DefaultWorkSheet
        Dim dataRange As IronXL.Range = sheet.GetRange("B2:E10")

        Dim rowCount As Integer = dataRange.Rows.Count
        Dim colCount As Integer = dataRange.Columns.Count
        Dim revenueArray(rowCount - 1, colCount - 1) As Double

        Dim rowIndex As Integer = 0
        For Each row As RangeRow In dataRange.Rows
            Dim colIndex As Integer = 0
            For Each cell As Cell In row
                revenueArray(rowIndex, colIndex) = cell.DoubleValue
                colIndex += 1
            Next
            rowIndex += 1
        Next

        ' Calculate column totals
        For j As Integer = 0 To colCount - 1
            Dim total As Double = 0
            For i As Integer = 0 To rowCount - 1
                total += revenueArray(i, j)
            Next
            Console.WriteLine($"Column {j + 1} total: {total:C}")
        Next
    End Sub
End Module

Çıktı

VB .NET Excel Dosyasını Diziye Okuma: IronXL vs Microsoft Interop Karşılaştırması: Görüntü 1 - VB .NET ile diziye Excel dosyası okumak için IronXL vs. Office Excel

Bu kod örneği, IronXL'nin sezgisel API'sini gösterir. WorkBook.Load metodu, Excel dosyasını belirtilen klasörünüzden doğrudan açar, Range nesnesi ise Excel elektronik tablosundaki belirli hücre bölgelerine erişim sağlar. Eski VBA makrolarından farklı olarak, bu yaklaşım tamamen tip güvenlidir ve .NET ekosistemine entegredir.

İlk Adım:
arrow pointer

Geleneksel Microsoft Office Interop Yaklaşımı Nedir?

Microsoft Office Interop, bir Excel uygulama örneğiyle bağlantı kurmak için COM otomasyonuna dayanır. Visual Studio'da bunu ayarlamak için Proje menüsüne gidin, 'Referans Ekle'yi seçin ve COM sekmesinde Microsoft Excel Nesne Kütüphanesi'ni arayın. Kodun çalıştığı her makinede yerel bir Excel yüklemesi olmalıdır.

Imports Microsoft.Office.Interop.Excel

Module InteropExcelArray
    Sub Main()
        Dim excelApp As New Application()
        Dim workbooks As Workbooks = excelApp.Workbooks
        Dim workbook As Workbook = Hayırthing
        Dim sheet As Worksheet = Hayırthing

        Try
            ' Suppress screen updates during processing
            excelApp.ScreenUpdating = False

            ' Open the workbook by full file path
            workbook = workbooks.Open("C:\Data\SalesData.xlsx")

            ' Reference the first worksheet
            sheet = CType(workbook.Sheets(1), Worksheet)

            ' Define a range and pull values into an object array
            Dim dataRange As Range = sheet.Range("A1", "D5")
            Dim values(,) As Object = CType(dataRange.Value, Object(,))

            ' COM arrays are 1-based, so enumerate from index 1
            Dim rows As Integer = values.GetUpperBound(0)
            Dim columns As Integer = values.GetUpperBound(1)

            For i As Integer = 1 To rows
                Dim line As String = ""
                For j As Integer = 1 To columns
                    line &= values(i, j).ToString() & vbTab
                Next
                Console.WriteLine(line)
            Next

        Catch ex As Exception
            Console.WriteLine("Error: " & ex.Message)

        Finally
            ' Release COM objects to prevent orphaned Excel processes
            If sheet IsNot Nothing Then
                System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet)
            End If
            If workbook IsNot Nothing Then
                workbook.Close(False)
                System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook)
            End If
            excelApp.Quit()
            System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp)
        End Try
    End Sub
End Module
C#

COM Nesne Yönetimi Neden Önemlidir?

Interop yaklaşımı, COM nesnesi yaşam döngüsü yönetimine dikkat gerektirir. Excel uygulaması tarafından döndürülen her nesne -- çalışma kitapları, çalışma sayfaları, aralıklar ve hücreler -- bir referans sayılan COM işaretçisine sahiptir. Bu nesnelerden her birine Marshal.ReleaseComObject çağrısı yapmamak, arka planda sessizce çalışan bir EXCEL.EXE işlemi bırakır.

Sunucularda, sahipsiz işlemler zamanla birikir ve eninde sonunda mevcut bellek veya dosya kollarını tükenir. Yukarıdaki Try...Finally deseni asgari güvenli yaklaşımdır, ancak birçok kurumsal kod tabanı, iç içe nesne grafiklerini yönetmek için özel bir COM temizleme aracı ekler.

Interop dizi indeksleme kuralı da, standart VB.NET dizilerinden farklıdır: COM tabanlı diziler 1'den başlar, 0'dan değil. Bu, herhangi bir satır veya sütun döngüsünün bir sapma farkı nedeniyle farklı hesaplanması gerektiği anlamına gelir, bu da çalışma zamanında sıkça karşılaşılan hataların ve veri kısaltma hatalarının kaynağıdır.

Hangi Çözüm Daha İyi Geliştirici Deneyimi Sunar?

Bu yaklaşımları üretim kullanımı için değerlendirirken, birkaç faktör IronXL'yi tercih edilen çözüm olarak avantaj sağlar:

Dağıtım Basitliği: IronXL, tek bir NuGet paketi aracılığıyla yüklenirken, Interop karmaşık çevre yapılandırmaları gerektirir. Programınız, bir kullanıcı oturumunun mevcut olmadığı bir derleme sunucusunda veya bulut işlevinde bir XLSX dosyasını işlemesi gerektiğinde bu önemlidir.

Kod Bakımı: IronXL aracılığıyla veri tablosunu okumak, kodu kısa ve okunabilir tutar. Satır ve sütun sayıları, birinci sınıf özellikler olarak mevcuttur. Interop ile, 1 olarak indekslenmiş COM dizilerinde üst sınırları hesaplar ve sonradan bağlanan Object değerlerini manuel olarak döküm yaparsınız.

Format Esnekliği: XLSX gibi standart Excel çalışma kitabı biçimlerinin ötesinde, IronXL yerel CSV ayrıştırmayı destekler, bu test verileri birden fazla formatta geldiğinde kullanışlı olur. Kütüphane ayrıca yeni çalışma kitabı dosyaları oluşturabilir ve eşit bir basitlikle hücrelere değerler yazabilir. Tam liste için IronXL format kılavuzunu görün.

Hata Yönetimi: Standart .NET istisna modelleri IronXL'ye uygulanır, bu da hata kurtarma işlemini kolaylaştırır. COM tabanlı istisnalar ek yönetim mantığı gerektirir ve doğru yönetilmezse Excel örneklerini çalışır durumda bırakabilir.

Çapraz Platform Desteği: IronXL, .NET 6 ve sonraki sürümleri aracılığıyla Linux ve macOS'ta çalışır. Interop, Win32 COM alt sistemi bağımlılığı nedeniyle sadece Windows ile sınırlıdır.

VB.NET'te Dizi Okuma için Performans ve Bakım Tavizleri
KriterIronXLMicrosoft Interop
Temel dizi okuması için kod satırları~20~40+
Manuel COM temizliği gerekliHayırEvet
Excel yüklü olmadan çalışırEvetHayır
Docker / CI işlem hatlarında çalışırEvetHayır
Dizi indeksleme kuralı0 tabanlı (.NET standardı)1 tabanlı (COM standardı)

VB.NET'te Dinamik Excel Aralıklarıyla Nasıl Çalışılır?

Üretim hesap tabloları genellikle sabit sayıda satıra sahip olmaz. IronXL, her çalışma sayfasında UsedRange özelliğini sağlar, bu da tüm boş olmayan hücrelerin sınırlandırma dikdörtgenini döndürür. Sabit kodlanmış bir aralık dizgesi yerine bunu kullanabilirsiniz.

Imports IronXL

Module DynamicRangeExample
    Sub Main()
        Dim workbook As WorkBook = WorkBook.Load("DynamicData.xlsx")
        Dim sheet As WorkSheet = workbook.DefaultWorkSheet

        ' Get the bounding range of all populated cells
        Dim usedRange As IronXL.Range = sheet.UsedRange

        Dim rowCount As Integer = usedRange.Rows.Count
        Dim colCount As Integer = usedRange.Columns.Count
        Dim dynamicArray(rowCount - 1, colCount - 1) As String

        Dim rowIndex As Integer = 0
        For Each row As RangeRow In usedRange.Rows
            Dim colIndex As Integer = 0
            For Each cell As Cell In row
                dynamicArray(rowIndex, colIndex) = cell.StringValue
                colIndex += 1
            Next
            rowIndex += 1
        Next

        Console.WriteLine($"Loaded {rowCount} rows x {colCount} columns from UsedRange.")
    End Sub
End Module

Dizi Verilerini Yükledikten Sonra Nasıl Filtreler ve Doğrularsınız?

Diziyi doldurduktan sonra yaygın olarak yapılan işlem adımları şunları içerir:

  • Başlık satırlarını atla: Sütun başlıklarını atlamak için görüntüleme döngüsünü 1 indexten başlatın.
  • Boşlukları kırpın: Elektronik tablodan kopyalanan baştaki ve sondaki boşlukları kaldırmak için .Trim() öğesini cell.StringValue üzerinde çağırın.
  • Boş hücreleri işleme: IronXL, boş hücreler için boş bir dizge döndürür, bu nedenle çoğu durumda boş kontrolü gereksizdir.
  • Sayı aralıklarını doğrula: Çiftleri yükledikten sonra -1 veya 9999 gibi yer tutucu değerleri içeren hücreleri yakalamak için bir aralık kontrolü uygulayın.

Daha büyük veri kümeleri için, ham iki boyutlu bir dizi yerine List(Of T) veya güçlü türle tanımlanmış bir sınıf kullanmayı düşünün. Verileri tip tanımlı nesnelere yüklemek, sonraki kodların okunmasını ve test edilmesini daha kolay hale getirir. IronXL nesne modeli referansı, mevcut tüm hücre özelliklerini ve çalışma sayfası yöntemlerini belgeler.

VB.NET Dizisini Excel'e Geri Nasıl Aktarırsınız?

IronXL, okuma için kullanılan aynı API ile dizileri çalışma sayfasına yazmayı destekler. Bu, hafızada verileri dönüştürdüğünüz ve sonucu yeni bir Excel dosyası olarak kaydetmeniz gerektiği senaryolar için kullanışlıdır.

Imports IronXL

Module WriteArrayToExcel
    Sub Main()
        ' Create a new workbook and worksheet
        Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
        Dim sheet As WorkSheet = workbook.CreateWorkSheet("Results")

        Dim outputArray(,) As String = {
            {"Region", "Q1", "Q2", "Q3"},
            {"Hayırrth", "12500", "14200", "15800"},
            {"South", "9800", "10500", "11300"},
            {"East", "8200", "9100", "9900"}
        }

        ' Write the array contents to the worksheet cell by cell
        For i As Integer = 0 To outputArray.GetUpperBound(0)
            For j As Integer = 0 To outputArray.GetUpperBound(1)
                Dim cellAddress As String = IronXL.ExcelAddress.ToAddress(i, j)
                sheet(cellAddress).Value = outputArray(i, j)
            Next
        Next

        workbook.SaveAs("Output.xlsx")
        Console.WriteLine("Workbook saved as Output.xlsx")
    End Sub
End Module

ExcelAddress.ToAddress(row, column) yardımcı programı, sıfır bazlı tam sayı koordinatlarını A1-notasyon dizelerine dönüştürür. Bu, yazma döngüsünü temiz tutar ve hücre adreslerini manuel hesaplamaktan kaçınır. Daha fazla desen için inceleyin IronXL yazma kılavuzu, formül ekleme ve stil uygulama dahil.

Birden Çok Çalışma Sayfasını Ayrı Dizilere Nasıl Okursunuz?

Bazı çalışma kitapları birden fazla sayfada veri depolar -- örneğin, ay veya bölge başına bir sayfa. IronXL tüm sayfaları workbook.WorkSheets üzerinden açığa çıkarır, bu sayede her sayfayı kendi dizisine yüklemek için döngüleyebilirsiniz.

Imports IronXL

Module MultiSheetArrayLoader
    Sub Main()
        Dim workbook As WorkBook = WorkBook.Load("AnnualReport.xlsx")

        For Each sheet As WorkSheet In workbook.WorkSheets
            Console.WriteLine($"Loading sheet: {sheet.Name}")

            Dim dataRange As IronXL.Range = sheet.UsedRange
            Dim rowCount As Integer = dataRange.Rows.Count
            Dim colCount As Integer = dataRange.Columns.Count
            Dim sheetArray(rowCount - 1, colCount - 1) As String

            Dim rowIndex As Integer = 0
            For Each row As RangeRow In dataRange.Rows
                Dim colIndex As Integer = 0
                For Each cell As Cell In row
                    sheetArray(rowIndex, colIndex) = cell.StringValue
                    colIndex += 1
                Next
                rowIndex += 1
            Next

            Console.WriteLine($"  Loaded {rowCount} rows x {colCount} columns.")
        Next
    End Sub
End Module

Sayfa Yönlendirmesini Anlamak

workbook.WorkSheets koleksiyonu sıfır indekslidir ve hem For Each hem de indeksli erişimi destekler. Sayfaları programlı olarak tanımlamak ve bilinen sayfa adlarına dayanan mantıksal dallanma için sheet.Name kullanın. IronXL çalışma sayfası kılavuzu aralık seçimi, adlandırılmış aralıklar ve dinamik aralık tespiti hakkında ayrıntılı bilgi verir.

Birçok sayfaya sahip çalışma kitapları için, ilgisiz sayfaları işlememek ve belleği boşa harcamamak için yüklemeden önce isimle filtreleyin.

Geliştiriciler Interop Dizi Formatı Hakkında Ne Bilmelidir?

Interop yaklaşımı, hücre verilerini COM'un 1-bazlı dizinleme kullanarak bir Object(,) dizisi olarak döndürür. İlk eleman, ilk sırada values(1, 1), values(0, 0) değil. Bu, sıkça karşılaşılan bir hata kaynağıdır.

Ek bir endişe, boş işlemidir: Interop, boş hücreler için Hayırthing döndürür. Boş bir referansta .ToString() çağrısı, çalışma zamanında bir NullReferenceException fırlatır. Her hücre erişiminde bir boş koruyucu eklemelisiniz:

If values(i, j) IsNot Nothing Then
    line &= values(i, j).ToString() & vbTab
End If

IronXL bu sorunu, boş hücreler için boş bir dizge döndürerek ortadan kaldırır, bu da döngü kodunun fazladan koruma gerektirmeden çalışabileceği anlamına gelir.

Interop tarafından kullanılan Excel Nesne Modeli hakkında yetkili bilgi için, Microsoft Excel VBA referansı ve MSDN Office interop dokümantasyonu.

Sonraki Adımlarınız Neler?

Excel verilerini dizilere okumak, .NET hesap tablosu görevlerinin en yaygınıdır ve IronXL uygulanmasını kolaylaştırır. Bir sonraki adıma geçmek için,

  • IronXL İndirin: NuGet aracılığıyla yükleyin (Install-Package IronXL.Excel) ve başlangıç kılavuzunu takip edin.
  • Format desteğini keşfedin: IronXL XLSX, XLS, CSV, TSV ve JSON dosyalarını okur ve yazar. Ayrıntılar için desteklenen formatlar sayfasını inceleyin.
  • Gelişmiş özellikleri deneyin: Aralıkları sıralayın, formülleri uygulayın, hücre stilleri belirleyin ve Excel yüklü olmadan grafikler oluşturun. Tam kapasite listesi için IronXL özellik genel bakışını inceleyin.
  • Kod örneklerine göz atın: IronXL kod örnekleri kütüphanesi, yaygın hesap tablosu görevleri için kopyala-yapıştır snippetleri sağlar.
  • Lisanslamayı inceleyin: Üretim dağıtımları için, IronXL lisanslama, geliştirici, ekip ve OEM seviyeleri sunuyor.

VB .NET Excel Dosyasını Diziye Okuma: IronXL vs Microsoft Interop Karşılaştırması: Görüntü 2 - IronXL çıktısı

Hem IronXL hem de Microsoft Office Interop, Excel verilerini dizilere okuyabilir, ancak IronXL, Ofis'ten bağımsız mimarisi, temiz API'si ve esnek dağıtım seçenekleriyle üstün bir geliştirici deneyimi sunar. Kütüphane, COM nesne yönetimi ve sistem bağımlılıkları gibi yaygın zorlukları ortadan kaldırırken, hesap tablosu otomasyonu için gelişmiş özelliklere erişim sağlar.

IronXL dokümantasyon merkezinde örnek projeler, kaynaklar ve dokümantasyonla IronXL'nin tam yeteneklerini keşfedin. Kurumsal uygulamalar için, IronXL lisanslama seçenekleri herhangi bir proje kapsamına uyacak esnek terimler sunar.

Lütfen dikkate alın: Microsoft Office Interop, ilgili sahibinin tescilli markasıdır. Bu site, Microsoft tarafından onaylanmamış, desteklenmemiş veya finanse edilmemiştir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.
Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez