加载中…
个人资料
小瓶子
小瓶子
  • 博客等级:
  • 博客积分:0
  • 博客访问:99,004
  • 关注人气:13
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

C# 导入Excel

(2013-06-13 13:42:10)
标签:

excel

it

分类: ASP.NET
private void ExportDataToExcel(string fileName)
    {
        string[] headersText = new string[] { 
            "Borrower Name", "Property Address", "Loan Number", "Loan Amount", "Transaction Date",  "Auth Code", "Ref. Number", "Amount" };
        try
        {

            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            System.IO.StringWriter sw = new System.IO.StringWriter();

            ArrayList dataList = this.transactionData.DataSource as ArrayList;
            
            // add header for activity month
            string headerFooter = string.Empty;
            sw.WriteLine(HTML_EXCEL_HEAD);
            sw.WriteLine("");
            sw.WriteLine("
            headerFooter = "Appraisal Merchant Transaction Activity for the Month of " + this.TransMonth.SelectedValue;
            headerFooter += "
";
            sw.WriteLine(headerFooter);

            //Export Header
            sw.WriteLine("");
            for (int i = 0; i < headersText.Length; i++)
            {
                if (i + 1 < headersText.Length)
                    sb.Append("\t");
                else
                    sb.Append("");
            }
            sw.WriteLine(sb.ToString());
            sb.Remove(0, sb.Length);
            sw.WriteLine("
");


            if (dataList != null)
            {
                //Export Data
                foreach (AppraisalMerchantData row in dataList)
                {
                    //string editString = "";
                    sw.WriteLine("");
                    sb.Append(""); // BorrowerName
                    sb.Append(""); // DateClosed
                    sb.Append(""); // LoanNumber
                    sb.Append(""); // LoanAmount
                    sb.Append(""); // TransDate
             
                    sb.Append(""); // Referrence Number / General Number format
                    sb.Append(""); // Status

                    sw.WriteLine(sb.ToString());    // adds a new line
                    sb.Remove(0, sb.Length);        // remove the old data
                    sw.WriteLine("
");          // close the row
                }
            }

            // add the total number in the footer
            sw.WriteLine("
            headerFooter = "Total number of transaction found: " + dataList.Count.ToString();
            headerFooter += "
";
            sw.WriteLine(headerFooter);
            sw.WriteLine("");
            sw.Close();

            Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
            //Response.Charset = "iso-8859-1"; //US-ASCII
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel;text/plain;";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.Write(sw);
            Response.End();
            sw.Dispose(); // clean the memory
        }
        catch (Exception ex)
        {
            this.ErrorMessage.Text = "Error while exporting data. " + ex.Message;
        }
    }
 首先,我们了解一下excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。下面就列出常用的一些格式:
1) 文本:vnd.ms-excel.numberformat:@
2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd
3) 数字:vnd.ms-excel.numberformat:#,##0.00
4) 货币:vnd.ms-excel.numberformat:¥#,##0.00
5) 百分比:vnd.ms-excel.numberformat: #0.00%
");
" + row.AppraisalFee + "
" + row.RefNumber + "
" + row.TransDate + "
" + row.LoanAmount + "
" + row.LoanNumber + "
" + row.Property + "
" + row.BorrowerName + "
" + headersText[i] + "
" + headersText[i] + "
");

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有