4
如何導出的WebGrid爲.pdf文件在MVC .NET Web應用程序?出口的WebGrid爲PDF ASP MVC剃刀
如何導出的WebGrid爲.pdf文件在MVC .NET Web應用程序?出口的WebGrid爲PDF ASP MVC剃刀
這裏有一對夫婦的方式做到這一點:
。希望helps-
有關完整的參考PDF文檔,請按照How to Export Webgrid to PDF in MVC4 Application
創建一個動作鏈接到您的視圖
頁3210<div>
Export Data : @Html.ActionLink("Export to PDF","GETPdf","Webgrid")
</div>
然後創建一個MVC行動出口的WebGrid數據PDF文件。這裏iTextSharp.dll用於導出pdf文件。
public FileStreamResult GETPdf()
{
List<CustomerInfo> all = new List<CustomerInfo>();
using (MyDatabaseEntities dc = new MyDatabaseEntities())
{
all = dc.CustomerInfoes.ToList();
}
WebGrid grid = new WebGrid(source: all, canPage: false, canSort: false);
string gridHtml = grid.GetHtml(
columns: grid.Columns(
grid.Column("CustomerID", "Customer ID"),
grid.Column("CustomerName", "Customer Name"),
grid.Column("Address", "Address"),
grid.Column("City", "City"),
grid.Column("PostalCode", "Postal Code")
)
).ToString();
string exportData = String.Format("<html><head>{0}</head><body>{1}</body></html>", "<style>table{ border-spacing: 10px; border-collapse: separate; }</style>", gridHtml);
var bytes = System.Text.Encoding.UTF8.GetBytes(exportData);
using (var input = new MemoryStream(bytes))
{
var output = new MemoryStream();
var document = new iTextSharp.text.Document(PageSize.A4, 50, 50, 50, 50);
var writer = PdfWriter.GetInstance(document, output);
writer.CloseStream = false;
document.Open();
var xmlWorker = iTextSharp.tool.xml.XMLWorkerHelper.GetInstance();
xmlWorker.ParseXHtml(writer, document, input, System.Text.Encoding.UTF8);
document.Close();
output.Position = 0;
return new FileStreamResult(output, "application/pdf");
}
開始與見[此](http://forums.asp.net/t/1694235.aspx/1?Export+my+table+data+to+PDf+in+Asp+net)和[此](http://forums.asp.net/t/1694235.aspx/1?Export+my+table+data+to+PDf+in+Asp+net) – Yasser 2012-08-03 11:52:40
所有of'em是「碼後面「:/ – Kira 2012-08-04 12:00:15
,你想......? – Yasser 2012-08-04 12:38:57