• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Code chuyển dữ liệu từ file excel sang file có đuôi *xlm

Nơi trao đổi về VBA (Visual Basic for Application), lập trình cho ứng dụng Microsoft Office, AutoCAD...

Moderator: tungblt

khoavu87
Posts: 5
Joined: Fri 30/10/2009 3:01 am

Code chuyển dữ liệu từ file excel sang file có đuôi *xlm

Postby khoavu87 » Thu 27/01/2011 2:24 pm

Chào cả nhà, em hiện giờ đang vướng mắc một vấn đề cần mọi người chỉ giúp.
- Em có một file excel và một file có đuôi *XML.
- Giờ em muốn viết một đoạn Code để chuyển dữ liệu từ file excel sang đúng vị trí bên file có đuôi *XML như hai file đính kèm.
CAU HOI.rar
(1.71 KiB) Downloaded 557 times



ngocvinh
Guru
Guru
Posts: 701
Joined: Wed 23/04/2008 8:14 am
Location: Biên Hòa Đồng Nai
Been thanked: 113 times

Re: Code chuyển dữ liệu từ file excel sang file có đuôi *xlm

Postby ngocvinh » Thu 27/01/2011 3:39 pm

  1. Imports System
  2. Imports System.Xml
  3. Imports System.Data
  4. Imports System.Data.OleDb
  5. Public Class Form1
  6.     Dim con As New OleDb.OleDbConnection
  7.     Dim ds As New DataSet
  8.     Dim cmd As New OleDb.OleDbCommand()
  9.     Dim da As New OleDbDataAdapter()
  10.     Dim nod As XmlNode
  11.  Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  12.         Dim F As String
  13.         F = "D:\Book1.xls"
  14.         Dim excelConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & F & ";Extended Properties=Excel 8.0;" & "Persist Security Info=False"
  15.         con.ConnectionString = excelConnectionString
  16.         con.Open()
  17.         Dim SQl As String = "Select * from [Sheet1$]"
  18.         cmd.CommandType = CommandType.Text
  19.         cmd.CommandText = SQl
  20.         cmd.Connection = con
  21.         da.SelectCommand = cmd
  22.         da.Fill(ds)
  23.         ds.WriteXml("D:\vinh.XML")
  24.  
  25.     End Sub
  26.  


Xuất thì ra được nhưng xem cách nào chỉnh sửa định dạng tí chút tết rồi không có thời gian. Xem lại có nhiều cách ghi ra bằng XML

khoavu87
Posts: 5
Joined: Fri 30/10/2009 3:01 am

Re: Code chuyển dữ liệu từ file excel sang file có đuôi *xlm

Postby khoavu87 » Thu 27/01/2011 4:46 pm

Em đã thử nhưng đoạn code của anh hình như tạo một Form để load dữ liệu thì phải.
Mục đích của em là có thể tạo một nút comanbutton trên sheet1 sau đó nhấn vào nút đó nó sẽ chuyển hết dữ liệu từ file Excel đó sang file có đuôi *XML như trên anh ạ, mong mọi người giúp đỡ.

User avatar
truongphu
VIP
VIP
Posts: 4766
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 520 times

Re: Code chuyển dữ liệu từ file excel sang file có đuôi *xlm

Postby truongphu » Fri 28/01/2011 5:45 pm

Đối tượng Workbook có sub SaveAsXMLData, bạn nghiên cứu thử xem..
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

khoavu87
Posts: 5
Joined: Fri 30/10/2009 3:01 am

Re: Code chuyển dữ liệu từ file excel sang file có đuôi *xlm

Postby khoavu87 » Thu 10/02/2011 10:51 am

Anh Phú nghiên cứu giúp em được không ạ? em cảm ơn, em mày mò mãi mà chưa đc.

User avatar
truongphu
VIP
VIP
Posts: 4766
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 520 times

Re: Code chuyển dữ liệu từ file excel sang file có đuôi *xlm

Postby truongphu » Fri 11/02/2011 8:13 am

Thú thật tôi ít nghiên cứu về XML
bạn có thể dùng code đơn giản sau:

  1. Private Sub Command1_Click()
  2.  
  3. Dim objExcel As New Excel.Application
  4. Dim objWorkbook As Workbook
  5. Set objWorkbook = objExcel.Workbooks.Open(App.Path & "\book1.xls")
  6.  
  7. objWorkbook.SaveAs App.Path & "\aaa.xml", _
  8. Excel.XlFileFormat.xlXMLSpreadsheet, _
  9. AccessMode:=Excel.XlSaveAsAccessMode.xlNoChange
  10.  
  11. objWorkbook.Close
  12. objExcel.Quit
  13.  
  14. End Sub
Attachments
SaveAs XML.rar
(2.56 KiB) Downloaded 1315 times
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh


Return to “Visual Basic for Application (VBA)”

Who is online

Users browsing this forum: No registered users and 1 guest