簡體   English   中英

使用C#將XLS文件轉換為xml文件

[英]Convert xls file to xml file using c#

我是C#的新手,我必須將Excel文件轉換為具有簡單節點的xml。 到目前為止,我已經與interop做到了。 我已經編寫了部分代碼來打開xls,關閉xls,通過Get_range方法獲取單元格的值並釋放對象。

但是,現在我必須輸出一個xml文件,我必須轉到一個特定的單元格並打印一個節點和一個單元格的值。 它也可以是我可以輸出的簡單純文本,也可以使用linq Xelement和Xattributes。 我認為使用get_range時:

xlWorkSheet.get_Range("B3", "B3").Value2

我需要在excel中打印相同的內容。

我不確定如何執行此操作,請指導我。 生成的xml應該如下所示:

<WpData>
<WpType>Design</WpType>
<ReviewType>half</ReviewType>
<References>[1] https:///SysService/SysService_AsrDet/trunk/_doc/20_Design


</References>
<Author>deh</Author>
<Reviewer>abc</Reviewer>
</WpData>

提前致謝。

您正在搜索xml序列化。 您應該這樣定義類:

[Serializable]
public class WpData
{
   public string WpType { get; set; }
   public string ReviewType { get; set; }
   public string References { get; set; }
   public string Author { get; set; }
   public string Reviewer { get; set; }
}

注意類的Serializable屬性。

然后,您應該從excel數據填充對象並使用XmlSerializer

WpData xmlSerializibleObject = new WpData();

//....
//here you should fill it from excel based on your data

//And then you can just serialize it to string 
string xmlString;
XmlSerializer xmlSerializer = new XmlSerializer(xmlSerializibleObject.GetType());

using(StringWriter textWriter = new StringWriter())
{
    xmlSerializer.Serialize(textWriter, xmlSerializibleObject);
    xmlString = textWriter.ToString();
}

xmlString將具有您需要的xml,如果您從excel正確填充對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM