ASP.NET用DataSet导出到Excel
//读取临时文件
GYYW.DA.Common.Base_SqlDataBase daBZDM =
new
GYYW.DA.Common.Base_SqlDataBase();
DataSet dsBZDM = daBZDM.GetDataSetBySql(
"select QCDM,MC,GG from WG_BZDM where QCDM like '02%'"
);
//同时将虚拟目录下的Data作为临时文件目录。
string
urlPath = HttpContext.Current.Request.ApplicationPath +
"/Data/"
;
string
physicPath = HttpContext.Current.Server.MapPath(urlPath);
//string fileName = Guid.NewGuid() + ".Xls";
string
fileName =
"DownLoad.Xls"
;
string
connString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ physicPath + fileName +
";Extended Properties=Excel 8.0;"
;
OleDbConnection objConn =
new
OleDbConnection(connString);
OleDbCommand objCmd =
new
OleDbCommand();
objCmd.Connection = objConn;
objCmd.Connection.Open();
//建立表结构
objCmd.CommandText =
@"CREATE TABLE Sheet1(器材代码 varchar,名称 varchar, 规格 varchar)"
;
objCmd.ExecuteNonQuery();
//建立插入动作的Command
objCmd.CommandText =
"INSERT INTO Sheet1(器材代码, 名称,规格) VALUES (@QCDM, @MC, @GG)"
;
objCmd.Parameters.Clear();
objCmd.Parameters.Add(
new
OleDbParameter(
"@QCDM"
, OleDbType.VarChar));
objCmd.Parameters.Add(
new
OleDbParameter(
"@MC"
, OleDbType.VarChar));
objCmd.Parameters.Add(
new
OleDbParameter(
"@GG"
,OleDbType.VarChar));
//遍历DataSet将数据插入新建的Excel文件中
foreach
(DataRow row
in
dsBZDM.Tables[0].Rows)
{
for
(
int
i=0; i<objCmd.Parameters.Count; i++)
{
objCmd.Parameters[i].Value = row[i];
}
objCmd.ExecuteNonQuery();
}
objCmd.Connection.Close();
//提供下载
//清除临时文件
HttpResponse response = HttpContext.Current.Response;
response.Clear();
//为输出作准备
response.WriteFile(urlPath + fileName);
string
httpHeader=
"attachment;filename=KCMX.Xls"
;
response.AppendHeader(
"Content-Disposition"
, httpHeader);
response.Flush();
//输出完毕后清除临时文件
string
strSaveDir =
"../Data/"
;
string
strFile = Server.MapPath(strSaveDir + fileName).ToString();
//string sss = urlPath + fileName;
System.IO.File.Delete(strFile);
//删除临时文件
response.End();
ASP.NET用DataSet导出到Excel的更多相关文章
- asp.net教程:GridView导出到Excel或Word文件
asp.net教程:GridView导出到Excel或Word文件</ br> 在项目中我们经常会遇到要求将一些数据导出成Excel或者Word表格的情况,比如中国移动(我是中国移动用户) ...
- asp.net将数据导出到excel
本次应用datatable导出,若用gridview(假设gridview设为了分页显示)会出现只导出当前页的情况. protected void btnPrn_Click(object sender ...
- .net DataSet 导出到Excel
public void CreateExcel(DataSet ds, string typeid, stringFileName) { HttpResponse r ...
- DataSet导出到Excel,并生成文件(C#实现,可合并行和列)
using System; using System.IO; using System.Data; using System.Reflection; using System.Diagnostics; ...
- asp.net Mvc Npoi 导出导入 excel
因近期项目遇到所以记录一下: 首先导出Excel : 首先引用NPOI包 http://pan.baidu.com/s/1i3Fosux (Action一定要用FileResult) /// < ...
- asp.net将内容导出到Excel,Table表格数据(html)导出EXCEL
代码: /// <summary> /// HTML Table表格数据(html)导出EXCEL /// </summary> /// <param name=&quo ...
- asp.net 把数据导出为excel
本篇介绍c#中如何使用DataTable导出Excel,至于其他的导出方法,这里不作介绍! 1.首页从数据库读取数据,得到DataTable: DataTable dt = HelperExecute ...
- ASP.NET- 使用NPOI导入导出标准Excel
尝试过很多Excel导入导出方法,都不太理想,无意中逛到oschina时,发现了NPOI,无需Office COM组件且不依赖Office,顿时惊为天人,怀着无比激动的心情写下此文. 曾使用过的方法 ...
- dataset导出成excel
之前网上查找了很多关于这类的代码.要不是中文乱码,要不是就是太复杂.这个是我用过最好用的. //ds为数据源,filename为保存的文件名 publicvoidCreateExcel(DataSet ...
随机推荐
- log_bin_trust_function_creators
log_bin_trust_function_creators错误解决 当有mysql本地或远程建立function或procedure时报上面的错误 或者如果开启了二进制日志,但是用户没有suppe ...
- MVC教程六:视图的寻址
一.为什么要使用视图 使用视图以后有两个优点: 1.保证页面内容输出和控制器代码的分离.和Code Behind不同,CodeBehind实现的是物理分离,视图可以实现逻辑上的分离. 2.更方便.更直 ...
- PCL中分割方法的介绍(2)
(2)关于上一篇博文中提到的欧几里德分割法称之为标准的距离分离,当然接下来介绍其他的与之相关的延伸出来的聚类的方法,我称之为条件欧几里德聚类法,(是我的个人理解),这个条件的设置是可以由我们自定义的, ...
- PCL关键点(1)
关键点也称为兴趣点,它是2D图像或是3D点云或者曲面模型上,可以通过定义检测标准来获取的具有稳定性,区别性的点集,从技术上来说,关键点的数量相比于原始点云或图像的数据量减小很多,与局部特征描述子结合在 ...
- DBExportDoc V1.0 For MySQL
win7系统下或者64位系统下,安装完mysql-connector-odbc驱动后,直接进入:管理工具--数据源(ODBC),点击添加不显示该驱动,该问题解决如下:进入dos命令行,输入:C:\Us ...
- js学习(一)-动态添加、修改、删除对象的属性和方法
//-----------------------js代码--------------------------- function class1(){ } //-------------------- ...
- Fix missing src/main/java folder in Eclipse Maven Project – 2 build path entries are missing
新建项目没有src/main/java 和 src/main/resources 两个source文件的解决方法: Step 1 : Create a Maven Webapp project. Ri ...
- Javascript动态操作CSS总结
一.使用js操作css属性的写法 1.对于没有中划线的css属性一般直接使用style.属性名即可. 如:obj.style.margin,obj.style.width,obj.style.left ...
- Qt中与文件目录相关操作
一.与文件目录操作有关操作. Qt中与文件目录相关的操作在QDir中,需加入#include <QDir>语句. QDir::drives()是列出电脑根目录下的所有目录,返回的是QFil ...
- QTcpSocket使用过程中的一些问题记录
目前,在将原来C的socket通讯改为使用Qt类库QTcpSocket通讯,在修改过程中遇到不少问题,在此将问题一并记录,以备后面使用. 采用的通讯方式:QTimer定时器.QThread多线程和QT ...