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
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
Resmi eklemeden önce istediğiniz ölçülerde yedeğini boyutlandırıp o yedeği eklemeyi denediniz mi?
Kodlar alıntıdır. Konu hakkında bir fikrim yok. Örnek verebilirseniz sevinirim
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.
(09/07/2014, 00:45)alpeki99 yazdı: 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.
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
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
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.