現在、現在のページのテーブルに表示されるのと同じ情報を Excel スプレッドシート形式でユーザーに提供する Web アプリケーションを構築しています。同じことを行った別のプロジェクトで以前のコードを見つけました。
最初の小さな質問: Column ss:Width の仕組みを知っている人はいますか? 完全一致ではありません。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 では次のようになります。各文字列項目の周りに十分な空白があります。
Administrator