Skip to main content

AccessTr.neT


Excelle Resim Eklerken Boyutlandırma

Excelle Resim Eklerken Boyutlandırma

Çözüldü #1
Visual Basic Code
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim xlApp As Excel.Application
        Dim xlWorkBook As Excel.Workbook
        Dim xlWorkSheet As Excel.Worksheet
        Dim misValue As Object = System.Reflection.Missing.Value

        xlApp = New Excel.Application()
        xlWorkBook = xlApp.Workbooks.Add(misValue)
        xlWorkSheet = xlWorkBook.Sheets("Sayfa1")


        'Yazı ekleme
        xlWorkSheet.Cells(1, 1) = "Excel Dosyasına Resim Ekleme"

        'Yazı fontunu belirleme
        xlWorkSheet.Cells(1, 1).Font.Bold = True
        xlWorkSheet.Cells(1, 1).Font.Size = 16
        xlWorkSheet.Cells(1, 1).Font.Name = "Arial"

        'Seçtiğimiz resimi excel deki çalışma sayfamıza ekliyoruz.
        xlWorkSheet.Shapes.AddPicture("C:\Documents and Settings\drummers\Desktop\Sipariş_Form\Sipariş_Form\Sipariş_Form\bin\Debug\adsız.jpg", _
        Microsoft.Office.Core.MsoTriState.msoFalse, _
        Microsoft.Office.Core.MsoTriState.msoCTrue, 350, 50, 200, 250)


        'Excel dosyamızı kaydediyoruz.
        Dim str As String = "D:\image.xls"
        xlWorkSheet.SaveAs(str)

        xlWorkBook.Close()
        xlApp.Quit()

        releaseObject(xlApp)
        releaseObject(xlWorkBook)
        releaseObject(xlWorkSheet)

        MsgBox("Excel dosyası oluşturuldu." & vbCrLf & "Dosya adresi: " & str)

    End Sub

Visual Basic Code
Private Sub releaseObject(ByVal obj As Object)
        Try
            System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
            obj = Nothing
        Catch ex As Exception
            obj = Nothing
        Finally
            GC.Collect()
        End Try
    End Sub

Bu şekilde Excel dosyasına eklediğimiz resmin boyutlarını nasıl değiştirebiliriz ?

Resmi eklerken en ve boy ölçüleri verdirmek istiyorum
Teşekkürler
drummers, 11-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #2
Resmi eklemeden önce istediğiniz ölçülerde yedeğini boyutlandırıp o yedeği eklemeyi denediniz mi?
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
Çözüldü #3
Kodlar alıntıdır. Konu hakkında bir fikrim yok. Örnek verebilirseniz sevinirim
drummers, 11-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #4
Pekçok kod var piyasada bunları kullanabilirsiniz:

Kod
codeproject.com/Tips/552141/Csharp-Image-resize-convert-and-save
web.bilecik.edu.tr/ugur-talas/2013/09/02/resimboyutlandirma/
korayduzgun.blogspot.com.tr/2012/04/c-resmi-yeniden-boyutlandrma.html
alirizaadiyahsi.blogspot.com.tr/2013/01/c-resim-boyutlandrma-image-resizer.html
kutlaybto.biz/makaleler/asp-net/110-c-ile-resim-boyutlandirma-ve-resime-me.html

Bunlar ile resmi önce istediğiniz boyuta getirin herhangi bir yerde sonra excele nasıl ekliyorsanız o şekilde ekleyin.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
Çözüldü #5
(09/07/2014 00:45)alpeki99 Adlı Kullanıcıdan Alıntı: Pekçok kod var piyasada bunları kullanabilirsiniz:

Kod
codeproject.com/Tips/552141/Csharp-Image-resize-convert-and-save
web.bilecik.edu.tr/ugur-talas/2013/09/02/resimboyutlandirma/
korayduzgun.blogspot.com.tr/2012/04/c-resmi-yeniden-boyutlandrma.html
alirizaadiyahsi.blogspot.com.tr/2013/01/c-resim-boyutlandrma-image-resizer.html
kutlaybto.biz/makaleler/asp-net/110-c-ile-resim-boyutlandirma-ve-resime-me.html

Bunlar ile resmi önce istediğiniz boyuta getirin herhangi bir yerde sonra excele nasıl ekliyorsanız o şekilde ekleyin.

Sorumun çözümü şudur.
Visual Basic Code
Private Sub Nesne(ByVal obje As Object)
        Try
            System.Runtime.InteropServices.Marshal.ReleaseComObject(obje)
            obje = Nothing
        Catch ex As Exception
            obje = Nothing
        Finally
            GC.Collect()
        End Try
    End Sub

Visual Basic Code
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        
        Dim Excellx As Excel.Application
        Dim Dosya As Excel.Workbook
        Dim Sayfa As Excel.Worksheet
        Dim misValue As Object = System.Reflection.Missing.Value
        Dim Resim As Object 'Excel.Picture
        Dim Resim_Yolu As String

        Excellx = New Excel.Application()
        Dosya = Excellx.Workbooks.Add(misValue)
        Sayfa = Dosya.Sheets("Sayfa1")
        Excellx.Windows.Application.ActiveWindow.DisplayGridlines = False

        'Yazı ekleme
        Sayfa.Cells(1, 1) = "Excel Dosyasına Resim Ekleme"

        'Yazı fontunu belirleme
        Sayfa.Cells(1, 1).Font.Bold = True
        Sayfa.Cells(1, 1).Font.Size = 16
        Sayfa.Cells(1, 1).Font.Name = "Arial"

        Resim_Yolu = Application.StartupPath + "\adsız.jpg"
        Sayfa.Pictures.Insert(Resim_Yolu).Select()
        Resim = Excellx.Selection

        With Resim
            .Name = "My Picture"
            .Left = 100
            .Top = 150 'rng.Top
            .Width = 300
            .Height = 50
            .Placement = 1 'xlMoveAndSize
            .PrintObject = True
            .Locked = True
        End With

       'Excel dosyamızı kaydediyoruz.
        Dim str As String = Application.StartupPath + "\image.xls"
        Sayfa.SaveAs(str)
        Dosya.Close()
        Excellx.Quit()

        Nesne(Excellx)
        Nesne(Dosya)
        Nesne(Sayfa)

        MsgBox("Excel dosyası oluşturuldu." & vbCrLf & "Dosya adresi: " & str)

    End Sub
drummers, 11-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #6
Konu Dışı : Office paketinin dosyalarını kullanmak yerine ücretsiz projeleri kullanmanızı tavsiye ederim. Ben uzun süredir epplus.codeplex.com/ kullanıyorum çok memnunum.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da