我目前正在構建一個Web應用程序,它將以Excel電子表格格式爲用戶提供他們在當前頁面上的表格中看到的相同信息。我在另一個項目中發現了一些以前的代碼。試圖瞭解ASP.net中的C#和XML電子表格
小問題第一:有人知道列ss:寬度是如何工作的?這不完全匹配。 Column ss:AutoFitWidth="0" ss:Width="114"
返回的列寬爲21.00 ...
我的大部分問題在於,傳遞到電子表格中的所有數據都有前導和尾部空白;我不知道如何刪除它。我試過.Trim()
,當我編寫我的.ToString()
查詢時,我一直在尋找其他方法,但我似乎沒有找到它。 以下是我的工作表的代碼片段:
<Worksheet ss:Name="UserMgmt1">
<Table>
@*Name*@
<Column ss:AutoFitWidth="0" ss:Width="114" />
<Row>
<Cell ss:StyleID="s29">
<Data ss:Type="String">Name</Data>
</Cell>
</Row>
@foreach (tbl_Users query in ViewBag.contents)
{
<Row>
<Cell ss:StyleID="s31">
<ss:Data ss:Type="String" >
@(query.Name.ToString().Trim())
</ss:Data>
</Cell>
</Row>
}
</Table>
</Worksheet>
忘了補充一點,實現這個代碼的ActionResult:
public ActionResult _Excel(tblUsers model)
{
List<tbl_Users> inquiriesList = UserManageModel.GetResults(model);
ViewBag.contents = inquiriesList;
return View("_Excel");
}
和呼叫:
@using (Html.BeginForm("_Excel", "UserManage", FormMethod.Post))
{
<input type="submit" value="View Detailed List of Users in Excel" />
}
結果在Excel中看起來像這樣,每個s周圍都有很多空白特林項目:
Administrator
可以使例子更小,也表現出更多的背景嗎?比如,可能會顯示包含較小示例的視圖,並顯示該示例生成的XML。 – 2013-02-13 19:05:57
什麼是將XML呈現爲電子表格?那些不是HTML元素。 – 2013-02-13 19:08:29
@JohnSaunders沒問題,我希望我的補充示例能夠提供更多見解 – MacSalty 2013-02-13 19:20:11