c# .net将SQL数据表导入excel 利用c#在web中实现将SQL数据表导入excel中,该怎么实现啊!第一次接触此类编程,请教啦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 protected void btnDataAdapter_Click(object sender, EventArgs e) { ////select top 10 username,address,zipcode,Telephone,email,convert(char(10),applydate,101) as applydate,Moneystr from tb_Trial_Centre order by applydate desc //SqlConnection con = new SqlConnection("Persist Security Info=False;database=ghh_GHHDISCUZ_V3;server=s259090sg8ew06;user id=wghh_dbo;password=BR$24tYX;Current Language=English;Connection Timeout=240;"); ////string sqlselect = @"select top 10 username,address,zipcode,Telephone,email,convert(char(10),applydate,101) as applydate,Moneystr,applydate applydate2 from tb_Trial_Centre where status=1 order by applydate desc"; //string sqlselect = @"select username,address,zipcode,Telephone,email,applydate,Moneystr from tb_Trial_Centre where status=1 order by applydate desc"; SqlConnection con = new SqlConnection(sql); string sqlselect = @"" + this.txtSqlCommand.Text.Trim() + ""; SqlDataAdapter sda = new SqlDataAdapter(sqlselect, con); sda.SelectCommand.CommandTimeout = 240; con.Open(); DataSet ds = new DataSet(); sda.Fill(ds); if (ds != null && ds.Tables.Count > 0) { GridView gv = new GridView(); gv.DataSource = ds.Tables[0]; gv.DataBind(); Response.Buffer = true; Response.Charset = "utf-8"; gv.EnableViewState = false; Response.ContentType = "application/ms-excel"; Response.Write("<meta http-equiv=Content-Type; content=text/html;charset=utf-8>"); Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToShortDateString() + ".xls"); Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); //System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true); System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("en-US", true); System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter); gv.RenderControl(oHtmlTextWriter); Response.Write(oStringWriter.ToString()); Response.End(); } con.Close(); } 是不是要创建个EXCEL表格,再把数据导进去?还是有其他方法? 问题解决了,自己找了一段,不过还是谢谢!//创建excel表格 Microsoft.Office.Interop.Excel.Application myexcel = new Microsoft.Office.Interop.Excel.ApplicationClass(); myexcel.Visible = true; Microsoft.Office.Interop.Excel.Workbooks myworkbooks = myexcel.Workbooks; Microsoft.Office.Interop.Excel.Workbook myworkbook = myworkbooks.Add(System.Reflection.Missing.Value); Microsoft.Office.Interop.Excel.Worksheet myworksheet = (Microsoft.Office.Interop.Excel.Worksheet)myworkbook.Worksheets[1]; Microsoft.Office.Interop.Excel.Range myrange = myworksheet.get_Range("A1", "G1"); object[] myheader ={"", "", ""};//表头 myrange.Value2 = myheader; SqlConnection con = new SqlConnection(connectstring); con.Open(); DataSet set = new DataSet(); SqlDataAdapter sda = new SqlDataAdapter(selectstring,con); sda.Fill(set, "table1"); for (int i = 1; i <= set.Tables[0].Rows.Count; i++) { for (int j = 0; j < set.Tables[0].Columns.Count; j++) { int k = i + 1; int n = j + 1; myworksheet.Cells[k, n] = set.Tables[0].Rows[i - 1][j].ToString(); } } 动态编译的程序集可否被缓存? 两个窗口如何实现数据交换 POS机 打印的代码 有些看不懂 请高手 指教啊 两天后要给客户了 要命了 有关dll问题 求助!!!委托+类+。。。问题奇怪 高手进! 开发QQ农场辅助工具必须要用多线程吗? 关于activerecord多表查询 IDbConnection 不明白 请教sql语句中的变量问题 如何让WINFORM的背景图片填充整个窗体并自动适应窗体的大小? 谁能帮我抓取这个网页里的指定部分的内容? 关于轻量级的状态机设计和实现
{
////select top 10 username,address,zipcode,Telephone,email,convert(char(10),applydate,101) as applydate,Moneystr from tb_Trial_Centre order by applydate desc
//SqlConnection con = new SqlConnection("Persist Security Info=False;database=ghh_GHHDISCUZ_V3;server=s259090sg8ew06;user id=wghh_dbo;password=BR$24tYX;Current Language=English;Connection Timeout=240;");
////string sqlselect = @"select top 10 username,address,zipcode,Telephone,email,convert(char(10),applydate,101) as applydate,Moneystr,applydate applydate2 from tb_Trial_Centre where status=1 order by applydate desc";
//string sqlselect = @"select username,address,zipcode,Telephone,email,applydate,Moneystr from tb_Trial_Centre where status=1 order by applydate desc";
SqlConnection con = new SqlConnection(sql);
string sqlselect = @"" + this.txtSqlCommand.Text.Trim() + "";
SqlDataAdapter sda = new SqlDataAdapter(sqlselect, con);
sda.SelectCommand.CommandTimeout = 240;
con.Open();
DataSet ds = new DataSet();
sda.Fill(ds);
if (ds != null && ds.Tables.Count > 0)
{
GridView gv = new GridView();
gv.DataSource = ds.Tables[0];
gv.DataBind();
Response.Buffer = true;
Response.Charset = "utf-8";
gv.EnableViewState = false;
Response.ContentType = "application/ms-excel";
Response.Write("<meta http-equiv=Content-Type; content=text/html;charset=utf-8>");
Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToShortDateString() + ".xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
//System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("en-US", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter);
gv.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
con.Close();
}
//创建excel表格
Microsoft.Office.Interop.Excel.Application myexcel = new Microsoft.Office.Interop.Excel.ApplicationClass();
myexcel.Visible = true;
Microsoft.Office.Interop.Excel.Workbooks myworkbooks = myexcel.Workbooks;
Microsoft.Office.Interop.Excel.Workbook myworkbook = myworkbooks.Add(System.Reflection.Missing.Value);
Microsoft.Office.Interop.Excel.Worksheet myworksheet = (Microsoft.Office.Interop.Excel.Worksheet)myworkbook.Worksheets[1];
Microsoft.Office.Interop.Excel.Range myrange = myworksheet.get_Range("A1", "G1");
object[] myheader ={"", "", ""};//表头
myrange.Value2 = myheader;
SqlConnection con = new SqlConnection(connectstring);
con.Open();
DataSet set = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter(selectstring,con);
sda.Fill(set, "table1");
for (int i = 1; i <= set.Tables[0].Rows.Count; i++)
{ for (int j = 0; j < set.Tables[0].Columns.Count; j++)
{
int k = i + 1;
int n = j + 1;
myworksheet.Cells[k, n] = set.Tables[0].Rows[i - 1][j].ToString();
}
}