Response.Clear();
//要給的實體路徑
Response.WriteFile(physicPath + fileName);
Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader("Content-Disposition", "attachment;filename=backup.Xls");
Response.Flush();
//刪除臨時文件
System.IO.File.Delete(physicPath + fileName);
Response.End();
Tips 1.如何取得欄位中含有小數(非整數)的資料集
SELECT * FROM EXP_TABLE WHERE COLUMN_A > FLOOR(COLUMN_A)
Tips 2.亂數排序取回的資料集順序
SELECT *, NEWID() AS NEWID FROM EXP_TABLE ORDER BY NEWID
Tips 3.將yyyyMMddHHmmss轉換為DateTime型別
SELECT CONVERT(DATETIME, STUFF(STUFF(STUFF('20120511115720', 9, 0, ' '), 12, 0, ':'), 15, 0, ':'))
持續更新...
///
/// 簡易Crystal Report範例 For ASP.NET C#
///
public void buildReport(String expType)
{
SqlDataAdapter da;
DataTable dt = new DataTable();
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
da = new SqlDataAdapter("SELECT * FROM REPORT_DATA", conn);
da.Fill(dt);
String strFilePath = Server.MapPath("CR001.rpt"); //Application.StartupPath + @"\CR002.rpt";
String strOutFileName = String.Format("CR{0}.PDF", DateTime.Now.ToString("yyyyMMddHHmmss"));
ReportDocument Crpt = new ReportDocument();
// 取得Report檔案
Crpt.Load(strFilePath);
// 設定Report資料來源
Crpt.SetDataSource(dt);
// 設定Report參數
Crpt.SetParameterValue("ParamName, ","Value");
// 設定CrystalReportViewer的Report物件來源
//CrystalReportViewer1.ReportSource = Crpt;
if(expType.Equals("DISK"))
{
// 寫入實體檔案
Crpt.ExportToDisk(ExportFormatType.PortableDocFormat, Server.MapPath(@"PDF_FILES\" + strOutFileName);
}
else if(expType.Equals("RESPONSE"))
{
// 輸出串流檔案
Crpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, strOutFileName);
}
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "JS001", "alert('轉檔完成!!')", true);
Crpt.Close();
da.Dispose();
}
catch (Exception ex)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "JS001", "alert('" + ex.Message + "')",true);
}
finally
{
dt.Dispose();
conn.Close();
conn.Dispose();
}
}
/// <summary>
/// 透過SMTP發送信件範例, 以GMail為例 For C#
/// </summary>
private void SendMail()
{
try
{
SmtpClient mailClient = new SmtpClient("smtp.gmail.com");
//Credentials登陸SMTP服務器的身份驗證
mailClient.Credentials = new NetworkCredential("user", "password");
//發件人地址
MailMessage message = new MailMessage(new MailAddress("Sender<Sender@gmail.com>"));
//收件人地址
message.To.Add(new MailAddress("Recever<Recever@gmail.com>"));
//可以添加多個副本收件人(CC)
message.CC.Add(new MailAddress("Sender<Sender@gmail.com>"));
//可以添加多個密件副本收件人(BCC)
message.Bcc.Add(new MailAddress("Sender<Sender@gmail.com>"));
//郵件內容
message.Body = "Mail Test In C#!";
//郵件主題
message.Subject = "C# SMTP Mail Send!!";
//附件
message.Attachments.Add(new Attachment(@"C:\Attachment.txt")); //添加附件
mailClient.Send(message);
MessageBox.Show("寄件成功");
}
catch (Exception ex)
{
MessageBox.Show("寄件失敗" + "\n\n問題敘述: " + ex.Message);
}
}