1
以下是我用於從Excel表單中獲取XML格式數據的一段代碼。但是如果excel表單中的值爲空白。 XML並沒有將其視爲價值。假設在Excel中,我有一個列名爲EmployeeAddress
,如果它的空白,它應該關閉標籤<EmployeeAddress/>
。在XML中取空白
daAdapter = new OleDbDataAdapter("Select * FROM [KDC Report$]", connection);
System.Data.DataTable dt = new System.Data.DataTable("Assets");
//daAdapter.FillSchema(dt, SchemaType.Source);
daAdapter.Fill(dt);
DataSet ds = new DataSet("DocumentElement");
ds.Tables.Add(dt);
var memoryStream = new MemoryStream();
using (TextWriter streamWriter = new StreamWriter(memoryStream))
{
var xmlSerializer = new XmlSerializer(typeof(DataSet));
xmlSerializer.Serialize(streamWriter, ds);
Encoding.UTF8.GetString(memoryStream.ToArray());
}
ds.WriteXml("C:\\Development\\MyAppln\\ExcelToXML\\Products.xml");
thx但我有50列在我的工作表,所以它nt建議逐個寫所有的列名。有沒有一種方法可以實現使用foreach? – NoviceToProgramming
@ user2795254 - 請參閱我更新的答案。 – Channs
我在運行時遇到錯誤,當我使用代碼 「'字符,十六進制值0x20,不能包含在名稱中。」,我必須使用一些編碼。這是我的項目最後一步卡住..任何幫助,將不勝感激 – NoviceToProgramming