//导出功能 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控件获取文件的全路径 }
时间: 2024-11-05 19:00:23