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 = ; 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#导入、导出功能的更多相关文章
- Laravel Excel 实现 Excel-CSV 文件导入导出功能
Laravel Excel 是一款基于 PHPExcel 开发的Laravel框架专用的 Excel/CSV 文件导入导出功能的扩展包,用起来的非常方便. 它的 Github 地址是:https:// ...
- oracle导入导出功能
1.普通版:oracle导入导出功能:导出exp 用户名/密码@SID file=f:\xx.dmp owner=用户名 导入imp 用户名/密码@SID full=y file=f:\xx.dmp ...
- office在繁体系统下 导入导出 功能灰显的解决方法
当在win7系统使用繁体中文版的office时,或系统是繁体版时,可能会导致office的导入导出功能无法使用 解决方法: 控制面板--区域和语言--格式--中文简体
- vue+element-ui的简洁导入导出功能
1.前段后台管理系统中数据展示一般都是用表格,表格会涉及到导入和导出;原生js导出excel2.导入是利用element-ui的Upload 上传组件; <el-upload class=&qu ...
- poi实现excel的导入导出功能
Java使用poi实现excel的导入导出功能: 工具类ExcelUtil,用于解析和初始化excel的数据:代码如下 package com.raycloud.kmmp.item.service.u ...
- vue + element-ui实现简洁的导入导出功能
1.安装ElementUI模块 cnpm install element-ui -S 2.在main.js中引入 import ElementUI from 'element-ui' import ' ...
- SpringCloud微服务实战——搭建企业级开发框架(三十):整合EasyExcel实现数据表格导入导出功能
批量上传数据导入.数据统计分析导出,已经基本是系统必不可缺的一项功能,这里从性能和易用性方面考虑,集成EasyExcel.EasyExcel是一个基于Java的简单.省内存的读写Excel的开源项 ...
- 关于玩QQ消息导入导出功能的感想!
今天玩了一下QQ的导入导出聊天记录的功能,感觉自己有些白痴,因为作为一个软件开发人员对自己平时使用的软件的功能掌握的不够,别说其他的任何东西了就连功能性的操作有些也不知道更别说熟练或精通了,这不是一个 ...
- 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件
今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...
- Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...
随机推荐
- 报错解决:No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
大概分析一般使用了注解才会报这方面的错 1.没有在spring的ApplicationContext.xml中开启注解事务 <!-- 开启注解事务 --> <tx:annotatio ...
- How to decide on the correct number of clusters?
Determining the number of clusters/segments in hierarchical clustering/segmentation algorithms 由于uni ...
- SQL Server之字符串函数
以下所有例子均Studnet表为例: 计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() ...
- Window["aaa"]这个在JS里是什么意思?
答案:定义一个全局的变量 aaa,这个的方式是数组,实际上是等于 window.aaa
- 制作Linux下程序安装包——使用脚本打包bin、run等安装包
制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了.一般这个后部分的文件是个压缩 包,那样,就能够打包很多文件了,在脚本中解压出来即可. ...
- NOIP2005 等价表达式 解题报告
明明进了中学之后,学到了代数表达式.有一天,他碰到一个很麻烦的选择题.这个题目的题干中首先给出了一个代数表达式,然后列出了若干选项,每个选项也是一个代数表达式,题目的要求是判断选项中哪些代数表达式是和 ...
- svnadmin:error while loading shared libraries: libaprutil-1.so.0:cannot open shared object file: No such file or directory
wdcp下安装svn后一直提示 svnadmin:error while loading shared libraries: libaprutil-1.so.0:cannot open shared ...
- TStringList 的Sorted属性
1 .设置 sorted := true; 2.添加数据 add('3');add('4');add('1'); showmessage(commatext);// 1,3,4 3.再修改Sorted ...
- bzoj 3687 bitset的运用
题目大意: 小呆开始研究集合论了,他提出了关于一个数集四个问题:1. 子集的异或和的算术和.2. 子集的异或和的异或和.3. 子集的算术和的算术和.4. 子集的算术和的异或和.目前为止,小呆已经解决了 ...
- 直接拿来用的10个PHP代码片段
PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言.PHP拥有数以百计的基本功能,支持上千种扩展.这些功能都被很好的加载在PHP站点上,但内置的库有各种各样的命名.在P ...