28-11-19, 09:57 PM
السلام عليكم
ممكن دمج الكود الأول لاستراد ملف اكسل
مع الكود الثاني لتصدير نفس الملف طبعا بعد وضع التعديلات عليه
اي جعلهم في فورم واحد ( استراد الملف ---التعديل عليه ثم التصدير )
بارك الله فيكم جميعا
ممكن دمج الكود الأول لاستراد ملف اكسل
كود :
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ofd.Filter = "Excel 2007|*.xlsx|Excel 2003|*.xls"
If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
grd.DataSource = Nothing
grd.Columns.Clear()
Dim path As String = ofd.FileName
Dim conn As New OleDbConnection("PROVIDER=MICROSOFT.ACE.OLEDB.12.0;DATA SOURCE=" & path & "; EXTENDED PROPERTIES=EXCEL 12.0;")
Dim ds As New DataSet
Dim da As New OleDbDataAdapter("SELECT * FROM [Sheet1$]", conn)
da.Fill(ds, "[Sheet1$]")
grd.DataSource = ds.Tables("[Sheet1$]")
Else
End
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
End Classمع الكود الثاني لتصدير نفس الملف طبعا بعد وضع التعديلات عليه
كود :
Imports Microsoft.Office.Interop.Excel
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US")
Dim exlapp As New Application
Dim exlworkbook As Workbook
Dim exlworksheet As Worksheet
Dim misvalue As Object = System.Reflection.Missing.Value
exlworkbook = exlapp.Workbooks.Add(misvalue)
exlworksheet = exlworkbook.Sheets("Sheet1")
For colhead As Integer = 0 To grd.ColumnCount - 1
exlworksheet.Cells(1, colhead + 1) = grd.Columns(colhead).HeaderText
Next
For i As Integer = 0 To grd.RowCount - 2
For j As Integer = 0 To grd.ColumnCount - 1
exlworksheet.Cells(i + 2, j + 1) = grd.Rows(i).Cells(j).Value.ToString
Next
Next
sfd.Filter = "Excel Files|*.xlsx|Excel 2003|*.xls"
If sfd.ShowDialog = System.Windows.Forms.DialogResult.OK Then
exlworksheet.SaveAs(sfd.FileName)
End If
exlworkbook.Close()
exlapp.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlapp)
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlworkbook)
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlworksheet)
exlapp = Nothing
exlworkbook = Nothing
exlworksheet = Nothing
If MsgBox("هل تريد فتح الملف", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
Process.Start(sfd.FileName)
End If
End Sub
End Classاي جعلهم في فورم واحد ( استراد الملف ---التعديل عليه ثم التصدير )
بارك الله فيكم جميعا
------------------------
منكم أتعلم
------------------------
