[英]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.