zoukankan
html css js c++ java
使用ADO.net将数据导出到Excel并提供下载
参考Meyer的文章写的一个例子,原文地址
http://www.cnblogs.com/meyer/articles/6977.html
项目下载
public
string
DataTableToExcel(DataTable dt,
string
excelPath)
{
if
(dt
==
null
)
{
return
"
DataTable不能为空
"
;
}
int
rows
=
dt.Rows.Count;
int
cols
=
dt.Columns.Count;
StringBuilder sb;
string
connString;
if
(rows
==
0
)
{
return
"
没有数据
"
;
}
sb
=
new
StringBuilder();
connString
=
string
.Format(ConnectionString,excelPath);
//
生成创建表的脚本
sb.Append(
"
CREATE TABLE
"
);
sb.Append(dt.TableName
+
"
(
"
);
for
(
int
i
=
0
;i
<
cols;i
++
)
{
if
(i
<
cols
-
1
)
sb.Append(
string
.Format(
"
{0} varchar,
"
,dt.Columns[i].ColumnName));
else
sb.Append(
string
.Format(
"
{0} varchar)
"
,dt.Columns[i].ColumnName));
}
using
(OleDbConnection objConn
=
new
OleDbConnection(connString))
{
OleDbCommand objCmd
=
new
OleDbCommand();
objCmd.Connection
=
objConn;
objCmd.CommandText
=
sb.ToString();
try
{
objConn.Open();
objCmd.ExecuteNonQuery();
}
catch
(Exception e)
{
return
"
在Excel中创建表失败,错误信息:
"
+
e.Message;
}
生成插入数据脚本
#region
生成插入数据脚本
sb.Remove(
0
,sb.Length);
sb.Append(
"
INSERT INTO
"
);
sb.Append(dt.TableName
+
"
(
"
);
for
(
int
i
=
0
;i
<
cols;i
++
)
{
if
(i
<
cols
-
1
)
sb.Append(dt.Columns[i].ColumnName
+
"
,
"
);
else
sb.Append(dt.Columns[i].ColumnName
+
"
) values (
"
);
}
for
(
int
i
=
0
;i
<
cols;i
++
)
{
if
(i
<
cols
-
1
)
sb.Append(
"
@
"
+
dt.Columns[i].ColumnName
+
"
,
"
);
else
sb.Append(
"
@
"
+
dt.Columns[i].ColumnName
+
"
)
"
);
}
#endregion
//
建立插入动作的Command
objCmd.CommandText
=
sb.ToString();
OleDbParameterCollection param
=
objCmd.Parameters;
for
(
int
i
=
0
;i
<
cols;i
++
)
{
param.Add(
new
OleDbParameter(
"
@
"
+
dt.Columns[i].ColumnName, OleDbType.VarChar));
}
//
遍历DataTable将数据插入新建的Excel文件中
foreach
(DataRow row
in
dt.Rows)
{
for
(
int
i
=
0
; i
<
param.Count; i
++
)
{
param[i].Value
=
row[i];
}
objCmd.ExecuteNonQuery();
}
return
"
数据已成功导入Excel
"
;
}
//
end using
}
查看全文
相关阅读:
ASP.NET 取得 Uri 各项属性值
js获取当前时间显示在页面上
脚步提示及跳转
整体刷新和局部刷新frameset窗口
asp.net 字符串过滤
.net 获取当前网页的的url
优酷去广告最新的关于如何屏蔽优酷广告的方法
bat命令集合
修复IE
网易见外工作台(AI),语音转文字,快速制作字幕,中英翻译,在线修改字幕
原文地址:https://www.cnblogs.com/lingyun_k/p/298112.html
最新文章
关于cin的成员getline的一个问题
求单链表的最大值与原地逆转
字符串分割c++
关于c++的引用变量与命名空间
关于寻找素因数的三种方法
线性表的链式表示
关于线性表的线性表的实现(顺序结构)
DOM性能考虑
innerHTML和innerText区别
js == 与 === 的区别
热门文章
封装AJAX
AJAX运行原理
继承
面向对象与原型(二)
面向对象与原型(一)
CSS书写规范、顺序
Eclipse搜索整个项目(转)
sql 随机抽取几条数据的方法 推荐
直通车运营系统优化之账户结构设置
404 Not Found错误页面的解决方法和注意事项
Copyright © 2011-2022 走看看