2015-06-26 64 views
-1

如何將以下數據轉換爲excel。輸入數據是.txt文件,看起來像這樣:xml data to excel轉換

<xml>1,4,,5,<header>2,44,,55,6,2,</header></xml> 
<xml><header>23,5,6,,2</header>3,4,5,66,,</xml> 

and so on.. 

基本上剝去標籤,並把數據導入Excel。每個數字應該在它自己的單元格中,空白值應該導致空白單元格。對於上面的例子,在.xls輸出應該是這個樣子..

1 4 5 2 44 55 6 2 
23 5 6 2 3 4 5 66 

不能真的任何格式,使輸出更好看,但基本都在它自己的小區每個數字和空白那裏的數據丟失。由於數據缺失,我的意思是在輸入中的兩個逗號之間沒有任何內容,正如你在上面看到的(,,)。

還有人問我我試過的是什麼,我將數據轉換爲csv,然後使用EPPlus將其寫入excel文件,但有太多問題,它不是直接轉換和數據沒有被正確寫入,我的代碼太雜亂。因此,排除故障並修復問題不是一個好主意。我確信有一個更簡單的解決方案。任何幫助將不勝感激!

+0

看起來好像如果你可以簡單地去掉所有標籤數據已經是csv格式,這個excel可以處理 – pasquers

+0

就像一個解決方法,你可以嘗試用單獨的替換doble逗號(',,')逗號(',')在csv文件中。 –

+0

例如,您可以在大多數編輯器中用「」代替所有「<.*>」 – pasquers

回答

0

所以最終的步驟後,我居然拿了通過例如運行時間:

1)在任何文本編輯器

2)找到一種方式來運行的「<一個發現加載文件。 *>」,並與替換 「」

3)保存該文件上在下一個開口嘗試開口.csv擴展

4)使用Excel

個-those步驟產生你想要什麼我

+0

我試過這樣做,但是在某些情況下,某些數據元素非常長,在這種情況下,它們會跨越2-3個單元格。我想要1個單元格中的每個數字。這是我注意到的一個問題。其次,如果輸入類似於12:30,則Excel將其顯示爲##### – sparta93

+0

hmmm。我們必須使用不同版本的Excel。輸入一個很長的數字對我來說是四捨五入的,並且12:30被轉換爲12:30:00 ....你使用的是什麼版本的excel? – pasquers

+0

可能,我正在使用Excel 2010 – sparta93

1

如果你可以使用XSLT,以下樣式:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> 

    <xsl:output method="text"/> 

    <xsl:strip-space elements="*"/> 

    <xsl:template match="row"> 
     <xsl:value-of select="."/> 
     <xsl:text>&#10;</xsl:text> 
    </xsl:template> 

</xsl:stylesheet> 

應用於以下輸入:

<input> 
    <row>1,4,,5,<header>2,44,,55,6,2,</header></row> 
    <row><header>23,5,6,,2</header>3,4,5,66,,</row> 
</input> 

產生以下CSV:

1,4,,5,2,44,,55,6,2, 
23,5,6,,23,4,5,66,, 

您也可以輕鬆添加一些列標題。