我想让用户通过可以输入 服务器IP/名 用户名 密码 数据库名 表名 将本表导出一个EXECL文件,如何实现?
解决方案 »
- 求SQL,两个表,一个用户表USER,一个用户发布的信息表MESSAGE,当删除USER时同时删除USER在信息表发布的信息?
- 一个页面sleep的时候!导致其它页面都打不开?不是基于多线程?
- 用Ds.Tables[myTable].Select能取出前五条记录吗?
- 如何在WEB中打开WORD编辑器和对应的WORD文档?
- “/bbs”应用程序中的服务器错误。有经验的进来帮忙~~50分###################
- 最近在用DataGrid的时候,遇到点问题. 描述如下: (在线等等待!!!!)
- 网站大规模分类 比较三种分类的数据库设计?分不够再加100!
- Attributes.Add 方法输出到客户端时把&&都变成&& ,如何是好啊?
- 为什么他不居中?第一个cell还那么长?谁能美化美化啊?
- 一个字符串中如何替换空格(" ")为 而不能替换html标签中的空格!-----急!!!!
- 弹出层问题
- 有没有好用的上传控件
连接数据库,
查询出(考虑海量数据时,分批提取)数据集合!
写入EXECL 文件就可以下面是最简单的导出execl 的方法 HttpResponse resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
resp.ContentType = "application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
resp.AppendHeader("Content-Disposition", ("attachment;filename=VoucherRecordList_" + System.DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xls"));
resp.Charset = "UTF-8"; System.Text.StringBuilder sb = new System.Text.StringBuilder(); int pageIndex = 1;
int pageCount = -1;
int i = 0;
int rowIndex = 1;
DataSet ds = null;
//取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符
for (i = 0; i < listColHearder.Count - 1; i++)
sb.Append(listColHearder[i] + "\t");
sb.Append(listColHearder[i] + "\n"); do
{
ds = new Juuway.BLL.Juuway_VoucherRecord().GetList(50, pageIndex, StrWhere, "", "");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
break;
}
if (pageCount == -1)
{
pageCount = (int)Math.Ceiling(int.Parse(ds.Tables[1].Rows[0][0].ToString()) / 50d);
} //逐行处理数据
foreach (DataRow row in ds.Tables[0].Rows)
{
sb.Append(rowIndex.ToString() + "\t");
//在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n
for (i = 1; i < listColName.Count - 1; i++)
sb.Append(row[listColName[i]].ToString() + "\t");
sb.Append(row[listColName[i]].ToString() + "\n");
rowIndex++;
}
pageIndex++;
} while (pageIndex <= pageCount); //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
resp.Write(sb.ToString());
//写缓冲区中的数据到HTTP头文件中
resp.End();
SqlConnection con = new SqlConnection(conStr);
string comStr = "select [name] from sysdatabases where dbid >= 7 ";
SqlCommand cmd = new SqlCommand(comStr, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
string constr = @"Integrated Security=SSPI;Data Source=GLB-CW-06\SQLEXPRESS;Initial Catalog=" + tableName + ";Provider=SQLOLEDB.1;uid=sa;pwd=123456";
OleDbConnection con = new OleDbConnection(constr);
con.Open();
OleDbCommand cmd = new OleDbCommand("sp_tables", con);
cmd.CommandType = CommandType.StoredProcedure;
OleDbDataReader dr = cmd.ExecuteReader();