Saturday, December 20, 2008

將Data轉出到CSV檔範例

Step 1:產生Data Table、DataSet等資料源

Step 2:產生CSV內容檔
例如:
string strOutPut = @"";
strOutPut += @"";

for (int rowCount = 0; rowCount < dtbl.Rows.Count; rowCount++)
{
strOutPut += string.Format("", dtbl.Rows[rowCount]["MemberClasses"].ToString(), dtbl.Rows[rowCount]["ChName"].ToString(), dtbl.Rows[rowCount]["EnName"].ToString(), dtbl.Rows[rowCount]["BaseEMail"].ToString(), dtbl.Rows[rowCount]["AreaName"].ToString(), dtbl.Rows[rowCount]["CountryName"].ToString(), dtbl.Rows[rowCount]["CapitalName"].ToString(), dtbl.Rows[rowCount]["CityName"].ToString(), dtbl.Rows[rowCount]["CmpChAddress"].ToString(), dtbl.Rows[rowCount]["CmpEnAddress"].ToString(), dtbl.Rows[rowCount]["CmpWebSite"].ToString(), dtbl.Rows[rowCount]["CmpTel"].ToString(), dtbl.Rows[rowCount]["CmpFax"].ToString(), dtbl.Rows[rowCount]["ConPerson"].ToString(), dtbl.Rows[rowCount]["JobChTitle"].ToString(), dtbl.Rows[rowCount]["JobEnTitle"].ToString(), dtbl.Rows[rowCount]["ConSex"].ToString());
}
strOutPut += "
身份公司中文名稱公司英文名稱E-Mail地區名1地區名2地區名3地區名4公司中文地址公司英文地址網址公司電話公司傳真聯絡人中文職稱英文職稱性別
{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}{16}
";

Step 3:匯出資料
this.EnableViewState = false;
Response.Clear();
Response.Buffer = true;
Response.Charset = "BIG5"; //設定字集
Response.AppendHeader("Content-Disposition", "attachment;filename=" + txtFileName.Text.ToString());
Response.ContentEncoding = System.Text.Encoding.GetEncoding ("BIG5");
Response.ContentType = "application/vnd.ms-excel ";
Response.Write(strOutPut);
Response.End();
dtbl.Dispose();

No comments: