• 08-08-2023, 16:41:38
    #1
    Merhaba arkadaşlar iyi forumlar herkese,
    Resimdeki gibi bir excel dosyam var, C# ile Sarı ile belirttiğim alanlardaki virgül "," işaretini kaldırıp yerine nokta "." işareti koymak istiyorum.
    Acaba nasıl yapabilirim teşekkürler şimdiden.
  • 08-08-2023, 16:43:33
    #2
    D Sütununa tıkla daha sonra CTRL + H yap üstteki kutuya , alttakine ise . yap ve değiştir de değiştirecektir.
  • 08-08-2023, 16:43:35
    #3
    Üyeliği durduruldu
    php ile yapabiliriz. kolay gelsin.
  • 08-08-2023, 16:45:09
    #4
    using System;
    using Excel = Microsoft.Office.Interop.Excel;
    
    namespace ExcelVirgulNoktaDegistirme
    {
        class Program
        {
            static void Main(string[] args)
            {
                string excelFilePath = "C:\\path\\to\\your\\excel-file.xlsx";
                int targetColumnIndex = 2; // Örnek olarak ikinci sütunu ele alıyoruz (0 tabanlı indeksleme).
    
                Excel.Application excelApp = new Excel.Application();
                Excel.Workbook workbook = excelApp.Workbooks.Open(excelFilePath);
                Excel.Worksheet worksheet = workbook.Sheets[1]; // İşlem yapmak istediğiniz sayfayı seçin.
    
                Excel.Range usedRange = worksheet.UsedRange;
                Excel.Range targetColumn = usedRange.Columns[targetColumnIndex + 1]; // Sütun indeksini 1 artırarak ayarlayın.
    
                foreach (Excel.Range cell in targetColumn.Cells)
                {
                    string cellValue = cell.Value?.ToString();
                    if (!string.IsNullOrEmpty(cellValue))
                    {
                        string newValue = cellValue.Replace(",", ".");
                        cell.Value = newValue;
                    }
                }
    
                workbook.Save();
                workbook.Close();
                excelApp.Quit();
    
                System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
    
                Console.WriteLine("İşlem tamamlandı.");
            }
        }
    }
  • 08-08-2023, 16:46:05
    #5
    @sukranturan; Bu elle düzenleme hocam bunu programla yapmak istiyorum.
    @sagirr; C# tercihim hocam.
  • 08-08-2023, 16:48:20
    #6
    pess1nu5 adlı üyeden alıntı: mesajı görüntüle
    @sukranturan; Bu elle düzenleme hocam bunu programla yapmak istiyorum.
    @sagirr; C# tercihim hocam.
    Yukarıdaki kodu kullanabilirsin. Kendine göre düzenleyip...
  • 08-08-2023, 16:51:05
    #7
    pess1nu5 adlı üyeden alıntı: mesajı görüntüle
    @sukranturan; Bu elle düzenleme hocam bunu programla yapmak istiyorum.
    @sagirr; C# tercihim hocam.

    Microsoft.Office.Interop.Excel projenize eklemeniz gerekir o vakit ;

    using Excel = Microsoft.Office.Interop.Excel;

    // ...

    string excelFilePath = "C:\path\to\your\excel_file.xlsx";
    Excel.Application excelApp = new Excel.Application();
    Excel.Workbook workbook = excelApp.Workbooks.Open(excelFilePath);
    Excel.Worksheet worksheet = workbook.Sheets[1]; // İlgili çalışma sayfasının indeksi (1'den başlar)

    // Burada ilgili işlemleri gerçekleştirerek "," işaretlerini "." ile değiştirebilirsiniz.

    // Excel dosyasını kaydedin ve kapatın.
    workbook.Save();
    workbook.Close();
    excelApp.Quit();

    // Belleği serbest bırakın (release objects).
    System.Runtime.InteropServices.Marshal.ReleaseComO bject(worksheet);
    System.Runtime.InteropServices.Marshal.ReleaseComO bject(workbook);
    System.Runtime.InteropServices.Marshal.ReleaseComO bject(excelApp);



    // D sütunundaki değerleri alın.
    Excel.Range dColumn = worksheet.Range["D"];

    // Her hücre için işlem yapın.
    foreach (Excel.Range cell in dColumn.Cells)
    {
    // Hücre değeri boş değilse ve bir sayıysa (numeric) işlem yapın.
    if (cell.Value != null && cell.Value is double numericValue)
    {
    // "," işaretini "." ile değiştirin.
    cell.Value = numericValue.ToString().Replace(",", ".");
    }
    }

    // Excel dosyasını kaydedin ve kapatın.
    workbook.Save();
    workbook.Close();
    excelApp.Quit();

    // Belleği serbest bırakın (release objects).
    System.Runtime.InteropServices.Marshal.ReleaseComO bject(worksheet);
    System.Runtime.InteropServices.Marshal.ReleaseComO bject(workbook);
    System.Runtime.InteropServices.Marshal.ReleaseComO bject(excelApp);
  • 16-08-2023, 10:27:42
    #8
    @sukranturan; Hocam c#da yeni olduğum için beceremedim sanırım. vaktiniz varsa birlikte bakabilir miyim?