Xin giúp đỡ trích dữ liệu từ xml sang excel (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

tears_of_kaliar

Thành viên mới
Tham gia
2/4/11
Bài viết
2
Được thích
0
Chào các bác.

Em có 1 số dữ liệu do phần mềm lưu thông tin dưới dạng file xml. nay em muốn tổng hợp lai thành 1 file excel

Cấu trúc file xml thì như bên dưới. Em bây giờ cần lấy dữ liệu ở 1 số dòng sau

<Name>NHÀ MÁY FORO MĂNG GAN</Name>
<CompanyType>4</CompanyType>
<BusinessArea>14</BusinessArea>
<CityNameLevel1>4 ~ Tỉnh Cao Bằng</CityNameLevel1>
<CityNameLevel2>48 ~ Huyện Hạ Lang</CityNameLevel2>
<CityNameLevel3>01561 ~ Xã Vinh Quý</CityNameLevel3>

Em đã tham khảo 1 số bài viết và kiếm được hướng dẫn tại :http://answers.microsoft.com/en-us/...33a592e?page=1&tab=question&status=AllReplies

. Theo hướng dẫn đầu tiên của TasosK

Sub From_XML_To_XL()
On Error GoTo errh
Dim myWB As Workbook, WB As Workbook
Set myWB = ThisWorkbook
Dim myPath
myPath = "c:\folder1\folder2\xml folder\" '<<< change path

Dim myFile
myFile = Dir(myPath & "*.xml")

Dim t As Long
t = 1

Application.ScreenUpdating = False
Do While myFile <> ""
Set WB = Workbooks.OpenXML(Filename:=myPath & myFile)
WB.Sheets(1).UsedRange.Copy myWB.Sheets(1).Cells(t, "A")
WB.Close False
t = myWB.Sheets(1).UsedRange.Rows.Count + 2

myFile = Dir()
Loop
Application.ScreenUpdating = True

myWB.Save
Exit Sub
errh:
MsgBox "no files xml"

End Sub

thì em có thể get được hết toàn bộ dữ liệu nhưng nó không được thuận tiện vì lặp lại phần tên cột dữ liệu và không lấy được luôn dữ liệu mong muốn. Đến phần code thứ 2 của bạn ý thì em lại không sử dụng được, chỉ lấy được dữ liệu 1 file đầu tiên
Sub From_XML_To_XL_02()
On Error GoTo errh
Dim myWB As Workbook, WB As Workbook
Set myWB = ThisWorkbook
Dim myPath
myPath = "c:\folder1\folder2\xml folder\" '<<< change path

Dim myFile
myFile = Dir(myPath & "*.xml")

Dim t As Long, N As Long, r As Long, c As Long
t = 1
N = 0

Application.ScreenUpdating = False
Do While myFile <> ""
N = N + 1
Set WB = Workbooks.OpenXML(Filename:=myPath & myFile)
If N > 1 Then
r = WB.Sheets(1).Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
c = WB.Sheets(1).Cells.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
WB.Sheets(1).Range(Cells(3, "A"), Cells(r, c)).Copy myWB.Sheets(1).Cells(t, "A")
Else
WB.Sheets(1).UsedRange.Copy myWB.Sheets(1).Cells(t, "A")
End If
WB.Close False
t = myWB.Sheets(1).Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1
myFile = Dir()
Loop

Application.ScreenUpdating = True
myWB.Save
Exit Sub
errh:
MsgBox "no files xml"

End Sub

Còn đây là file xml của em
<?xml version="1.0" standalone="yes"?><Xml>
<Info>
<CompanyInfoId>4f4611be-e507-4318-9d2b-9cc9cf796e01</CompanyInfoId>
<EntryBy>Default</EntryBy>
<EntryDataId>2013</EntryDataId>
<EntryDate>12/29/2013</EntryDate>
<RecordDate>4/1/2014</RecordDate>
<Reference>4f4611be-e507-4318-9d2b-9cc9cf796e01</Reference>
<Code>00001</Code>
<ManageCode>04.048.00.00001</ManageCode>
<TaxCode>0101469451</TaxCode>
<Name>NHÀ MÁY FORO MĂNG GAN</Name>
<Tel>0266 580 418</Tel>
<Fax />
<Email />
<Website />
<Updated>2</Updated>
<LoginName />
<CityLevel1>31</CityLevel1>
<CityLevel1Code>4</CityLevel1Code>
<CityLevel2>397</CityLevel2>
<CityLevel2Code>48</CityLevel2Code>
<CityLevel3>5321</CityLevel3>
<CityLevel3Code>01561</CityLevel3Code>
<CityLevel3Type>2</CityLevel3Type>
<CityLevel4>0</CityLevel4>
<CityNameLevel1>4 ~ Tỉnh Cao Bằng</CityNameLevel1>
<CityNameLevel2>48 ~ Huyện Hạ Lang</CityNameLevel2>
<CityNameLevel3>01561 ~ Xã Vinh Quý</CityNameLevel3>
<CityNameLevel3Type>2 ~ Xã</CityNameLevel3Type>
<CityNameLevel4 />
<Address />
<CompanyType>4</CompanyType>
<BusinessArea>14</BusinessArea>
<KhuCN>0</KhuCN>
<KhuCNCode>0</KhuCNCode>
<KhuCNName>0</KhuCNName>
<TSLD_DN>19</TSLD_DN>
<TSLD_NT>0</TSLD_NT>
<TSLD_TT>15</TSLD_TT>
<TSLD_Nu>2</TSLD_Nu>
<TSLD_HDLD>10</TSLD_HDLD>
<TSLD_HDLD_Nu>2</TSLD_HDLD_Nu>
<TSLD_THPT>19</TSLD_THPT>
<CMKT1>11</CMKT1>
<CMKT2>0</CMKT2>
<CMKT3>0</CMKT3>
<CMKT4>0</CMKT4>
<CMKT5>6</CMKT5>
<CMKT6>1</CMKT6>
<CMKT7>1</CMKT7>
<GDDT1>2</GDDT1>
<GDDT2>2</GDDT2>
<GDDT3>4</GDDT3>
<GDDT4>0</GDDT4>
<GDDT5>0</GDDT5>
<GDDT6>11</GDDT6>
<NNC1>1</NNC1>
<NNC2>4</NNC2>
<NNC3>0</NNC3>
<NNC4>0</NNC4>
<NNC5>3</NNC5>
<NNC6>11</NNC6>
<TSLD_CanTuyen>0</TSLD_CanTuyen>
<TSLD_ThayThe>0</TSLD_ThayThe>
<IsNew>1</IsNew>
<CreateUser>608</CreateUser>
<CreateDate>9/11/2012</CreateDate>
<ModifiedUser>608</ModifiedUser>
<ModifiedDate>4/1/2014</ModifiedDate>
<PortalId>0</PortalId>
<ModuleId>0</ModuleId>
<CompanyStatus>1</CompanyStatus>
</Info>

</Xml>


Em thì không có kiến thức về lập trình, up bài lên đây mong các bác giúp đỡ em ạ. Em cảm ơn
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom