參考資料:http://www.cnblogs.com/jeffhsu/archive/2011/08/24/2152013.html
看了jeffhsu的方法挺好的,但需要做一個Excel模版,參考網上資料改進了一下。
//Asp.net 匯出EXCEL
private void ExportExcel()
{
//臨時檔案
string tempFile = string.Format("{0}/{1}.xls", System.Environment.GetEnvironmentVariable("TEMP"), Guid.NewGuid());
//使用OleDb串連
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + tempFile + ";Extended Properties=Excel 8.0");
using (con)
{
con.Open();
//建立Sheet
OleDbCommand cmdCreate = new OleDbCommand("CREATE TABLE Sheet1 ([ID] VarChar,[名稱] VarChar,[時間] VarChar)", con);
cmdCreate.ExecuteNonQuery();
//插入資料
OleDbCommand cmd = new OleDbCommand(@"INSERT INTO [Sheet1$] VALUES(@ID, @名稱, @時間)", con);
cmd.Parameters.AddWithValue("@ID", "1");
cmd.Parameters.AddWithValue("@名稱", "哈哈");
cmd.Parameters.AddWithValue("@時間", DateTime.Now);
cmd.ExecuteNonQuery();
}
Response.ContentType = "application/ms-excel";
Response.AppendHeader("Content-Disposition", "attachment;filename=info.xls");
Response.BinaryWrite(File.ReadAllBytes(tempFile));
File.Delete(tempFile);
}