//导出功能
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 = ; 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 = ; i < list.Count; i++)
{
ContactInfo conInfo = new ContactInfo { CenterName = list[i].CenterName };
IList<ContactInfo> list1 = ContactBiz.Query(conInfo);
if (list1.Count == )
{
ContactBiz.Insert(list[i]);
}
else
{
textList.Add(list[i].CenterName);//add(list[i].CenterName);
}
}
string text = "";
if (textList.Count > )
{
for (int i = ; i < textList.Count; i++)
{
text += textList[i];
if (textList.Count > && i < textList.Count - )
{
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控件获取文件的全路径
}

C#导入、导出功能的更多相关文章

  1. Laravel Excel 实现 Excel-CSV 文件导入导出功能

    Laravel Excel 是一款基于 PHPExcel 开发的Laravel框架专用的 Excel/CSV 文件导入导出功能的扩展包,用起来的非常方便. 它的 Github 地址是:https:// ...

  2. oracle导入导出功能

    1.普通版:oracle导入导出功能:导出exp 用户名/密码@SID file=f:\xx.dmp owner=用户名 导入imp 用户名/密码@SID full=y file=f:\xx.dmp ...

  3. office在繁体系统下 导入导出 功能灰显的解决方法

    当在win7系统使用繁体中文版的office时,或系统是繁体版时,可能会导致office的导入导出功能无法使用 解决方法: 控制面板--区域和语言--格式--中文简体

  4. vue+element-ui的简洁导入导出功能

    1.前段后台管理系统中数据展示一般都是用表格,表格会涉及到导入和导出;原生js导出excel2.导入是利用element-ui的Upload 上传组件; <el-upload class=&qu ...

  5. poi实现excel的导入导出功能

    Java使用poi实现excel的导入导出功能: 工具类ExcelUtil,用于解析和初始化excel的数据:代码如下 package com.raycloud.kmmp.item.service.u ...

  6. vue + element-ui实现简洁的导入导出功能

    1.安装ElementUI模块 cnpm install element-ui -S 2.在main.js中引入 import ElementUI from 'element-ui' import ' ...

  7. SpringCloud微服务实战——搭建企业级开发框架(三十):整合EasyExcel实现数据表格导入导出功能

      批量上传数据导入.数据统计分析导出,已经基本是系统必不可缺的一项功能,这里从性能和易用性方面考虑,集成EasyExcel.EasyExcel是一个基于Java的简单.省内存的读写Excel的开源项 ...

  8. 关于玩QQ消息导入导出功能的感想!

    今天玩了一下QQ的导入导出聊天记录的功能,感觉自己有些白痴,因为作为一个软件开发人员对自己平时使用的软件的功能掌握的不够,别说其他的任何东西了就连功能性的操作有些也不知道更别说熟练或精通了,这不是一个 ...

  9. 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件

    今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...

  10. Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...

随机推荐

  1. EasyUI tab常用

    获取选中的tab的title var tab = $('#tab_Employee').tabs('getSelected'); var t=tab.panel('options').title; t ...

  2. WCF学习笔记

    1,关于WCF/web service/WSE Web Service:是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术.它有一套完成的规范体系标准,而且在持 ...

  3. Java script基础

    Java script基础 Js的每个语句后面都要有分号. <script  type="text/java script">所有JS内容</script> ...

  4. VS输入输出基本操作以及数据类型和类型转换

    (一)   C#项目的组成结构 项目结构 .config ---配置文件(存放配置参数文件) .csproj ---项目文件(管理文件项) .sln   ---解决方案文件(管理项目) .cs   - ...

  5. 第一次编辑JAVA

    其实就是根据例题来进行编辑,但并不是一次就对了的,有大小写输入出错的问题,有漏掉标点符号的问题,值得注意的是,所有的标点符号都需要是在英文输入法状态下输入的,最后的问题——例题所用的C盘给我们带来了系 ...

  6. bzoj 2456: mode

    #include<cstdio> #include<algorithm> using namespace std; int n,t,sum; int main() { scan ...

  7. HDU 1754 单点更新,求区间最大值

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  8. Codeforces Round #378 (Div. 2) D题(data structure)解题报告

    题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...

  9. 可滑动的ToggleButton(开关)

    2013-12-28 17:25:01 网上看到一篇关于可滑动的ToogleButton的文章,有代码,觉得挺好,但是不符合我的要求,因此在他的代码基础上改了一些.(作者看到了勿喷啊,实在找不到原文了 ...

  10. bzoj 3687 bitset的运用

    题目大意: 小呆开始研究集合论了,他提出了关于一个数集四个问题:1. 子集的异或和的算术和.2. 子集的异或和的异或和.3. 子集的算术和的算术和.4. 子集的算术和的异或和.目前为止,小呆已经解决了 ...