• 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控件获取文件的全路径
            }
  • 相关阅读:
    mysql in 的两种使用方法
    Cocos2d-x游戏中默认的AndroidManifest.xml的解析
    UVA 11551
    本周游戏体验:卧虎藏龙
    Android.mk各种文件编译汇总
    hdu 寒冰王座
    树的专题整理(二)
    leetcode 题解 || Swap Nodes in Pairs 问题
    接上SQL SERVER的锁机制(一)——概述(锁的种类与范围)
    SQL SERVER的锁机制(一)——概述(锁的种类与范围)
  • 原文地址:https://www.cnblogs.com/slu182/p/4269489.html
Copyright © 2020-2023  润新知