zoukankan      html  css  js  c++  java
  • C#导入、导出功能

       //导出功能
            protected void btnExport(object sender, EventArgs e)
            {
                //用来打开下载窗口
                string fileName = "中心联系方式";
                Response.ContentType = "application/vnd.ms-excel";
                // Response.AddHeader("Content-Type", "application/vnd.ms-excel");
    
                Response.HeaderEncoding = System.Text.Encoding.GetEncoding("utf-8");
    
                Response.CacheControl = "no-cache";
                // Response.AddHeader("Cache-Control","no-cache");            
    
                Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}.xls", System.Web.HttpUtility.UrlEncode(fileName)));
                Response.Clear();
                //1将数据库中的数据读取到list中,
                //2设置workbook的值
                //3写入到memorystream中
                //4以二进制的形式写入到response流中
                IList<ContactInfo> list = ContactBiz.Query(new ContactInfo());
                ExcelToDB excelToDB = new ExcelToDB();
                try
                {
                    MemoryStream ms = excelToDB.ExportToExcel(fileName, list);
                    Response.BinaryWrite(ms.ToArray()); //ms.GetBuffer();
                    Response.End();
                }
                catch (Exception ex)
                {
                    Logger.Write("中心联系方式导出失败,原因:" + ex.Message);
                    throw ex;
                }
    
    
            }
    
            //导入功能
            protected void Button1_Click(object sender, EventArgs e)
            {
                bool fileOK = false;
                string path = Server.MapPath("~/Temp/");
                if (FileUpload1.HasFile)
                {
                    string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
                    string[] allowedExtensions = { ".xls" };
                    for (int i = 0; i < allowedExtensions.Length; i++)
                    {
                        if (fileExtension == allowedExtensions[i])
                        {
                            fileOK = true;
                        }
                    }
                }
                if (fileOK)
                {
                    try
                    {
                        path = path + FileUpload1.FileName;
                        FileUpload1.SaveAs(path);
                        //提示文件上传成功
                        //LabMessage1.Text = "文件上传成功.";
                        //LabMessage2.Text = "<b>原文件路径:</b>" + FileUpload1.PostedFile.FileName + "<br />" +
                        //          "<b>文件大小:</b>" + FileUpload1.PostedFile.ContentLength + "字节<br />" +
                        //          "<b>文件类型:</b>" + FileUpload1.PostedFile.ContentType + "<br />";
                        ExcelToDB excelToDB = new ExcelToDB();
                        IList<ContactInfo> list = excelToDB.ExcelToList(path);
                        IList<string> textList = new List<string>();
                        for (int i = 0; i < list.Count; i++)
                        {
                            ContactInfo conInfo = new ContactInfo { CenterName = list[i].CenterName };
                            IList<ContactInfo> list1 = ContactBiz.Query(conInfo);
                            if (list1.Count == 0)
                            {
                                ContactBiz.Insert(list[i]);
                            }
                            else
                            {
                                textList.Add(list[i].CenterName);//add(list[i].CenterName);
                            }
                        }
                        string text = "";
                        if (textList.Count > 0)
                        {
                            for (int i = 0; i < textList.Count; i++)
                            {
                                text += textList[i];
                                if (textList.Count > 1 && i < textList.Count - 1)
                                {
                                    text += ",";
                                }
                            }
                            Response.Write("<Script language='JavaScript'>alert('导入失败的中心名称:" + text + "');</Script>");
                        }
                        else
                        {
                            Response.Write("<Script language='JavaScript'>alert('数据全部导入成功');</Script>");
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.Write("文件上传失败,原因:" + ex.Message);
                        Response.Write("<Script language='JavaScript'>alert('文件上传失败');</Script>");
                    }
                }
                else
                {
                    Response.Write("<Script language='JavaScript'>alert('只能够上传Excel文件');</Script>");
                }
                //   string filePath = FileUpload1.PostedFile.FileName;//从fileupload控件获取文件的全路径
            }
  • 相关阅读:
    js怎样生成json的数据
    JS中生成与解析JSON
    [转]js动态创建json类型
    handlebars模板库的资源
    一指流沙,倾覆了谁的年华?
    c# const与readonly 关键字的比较
    静态类和静态构造函数
    编写跨浏览器兼容的 CSS 代码的金科玉律
    mysql 分页sql
    EF报LINQ to Entities 不识别方法“Web_JZRepository.Models.copy_materials_details get_Item(Int32) ”,因此该方法无法转换为存储表达式。
  • 原文地址:https://www.cnblogs.com/slu182/p/4269489.html
Copyright © 2011-2022 走看看