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文件的导入和导出. 该 ...
随机推荐
- 张艾迪(创始人):拥抱单身与自由的Eidyzhang
拥抱单身与自由(Single+Freedom) 拥抱伟大的梦想与理想.年轻一代的张扬与自信 拥抱AOOOiA.Global.224C的一切是我对这个世界的态度 +AOOOiA.Global.224C创 ...
- content.boundingRectWithSize计算出来的高度不准
计算出来的高度会少一行的高度,最后一行会显示不全.减掉padding会解决这个问题. let padding = self.reviewText.textContainer.lineFragm ...
- go——beego的数据库增删改查
一直都不理解使用go语言的时候,为什么还要自己去装beego,以为使用go便可以解决所有的问题,结果在朋友的点拨下,才意识到: go与beego的关系就好比是nodejs与thinkjs的关系,因此也 ...
- protobuf 安装 及 小测试
参考:http://shift-alt-ctrl.iteye.com/blog/2210885 版本: 2.5.0 百度云盘上有jar包. mac 上安装: 新建:/Users/zj/software ...
- BZOJ2494 Triangles and Quadrangle
一道非常"简单"的计算几何题... 题意:给你两个三角形和一个四边形,问你能否用这两个三角形拼成这个四边形 首先...四边形可能是凹四边形...需要判断一下...这个比较简单直接分 ...
- linux命令行快捷键
linux命令行编辑快捷键 先总结几个个人觉得最有用的 ctrl + ? 撤消前一次输入 ctrl + c 另起一行 ctrl + r 输入单词搜索历史命令 ctrl + u 删除光标前面所有字符相当 ...
- heartbeat安装
wget ftp://mirror.switch.ch/pool/1/mirror/scientificlinux/6rolling/i386/os/Packages/epel-release-6-5 ...
- Codeforces 417E
#include<iostream> #include<cstring> #include<cstdio> #include<cmath> #inclu ...
- SQL 修改数据库架构名
SQl 修改数据库架构名 declare @name sysname declare csr1 cursor for select TABLE_NAME from INFORMATION_SCHEMA ...
- hdu 4602 Partition
http://acm.hdu.edu.cn/showproblem.php?pid=4602 输入 n 和 k 首先 f(n)中k的个数 等于 f(n-1) 中 k-1的个数 最终等于 f(n-k+1 ...