asp.net中的table 导出问题 急!!

来源:百度知道 编辑:UC知道 时间:2024/04/28 14:11:47
小弟在做一个考勤系统,计算数据库中的打卡时间以得出迟到早退等信息并将其显示在Table中,现在要求将Table中显示的信息导出成doc或xls格式,该怎么做啊,哭求各位高手请教!急!!
补充以下 我做的是BS模式 在浏览器中操作~

问题已经解决 我原来的代码不能通过 是因为程序不运行的时候table中没有数据 需要引入一个委托就ok了
代码如下:private void Button4_Click(object sender, System.EventArgs e)
{
Response.ContentType = "application/vnd.ms-excel";
Response.Charset = "";
this.EnableViewState = false;
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);
this.Button1_Click(sender,e);
this.Table1.RenderControl(hw);
Response.Write(sw.ToString());
Response.End();
}
虽然不是用各位提供的方法 但依然感谢:)

private void GetCSVFile(DataTable st)
{
FileStream out = new FileStream(Server.MapPath(@"\" + "csv.csv"), FileMode.OpenOrCreate); //FileMode.OpenOrCreate使用导的中文不是乱码
StreamWriter sw = new StreamWriter(out, System.Text.Encoding.Default);
string temp = "";
for (int i = 0; i < st.Columns.Count; i++)
{
temp += st.Columns[i].ToString() + ",";
}
if(temp.Substring(temp.Length-1,1) == ",")
{
temp = temp.Substring(0,temp.Length-1);
}
sw.WriteLine(temp);
temp = "";
for (int j = 0; j < st.Rows.Count; j++)
{
for (int k = 0; k < st.Columns.Count; k++)
{
temp += st.Rows[j][k].ToString() + ","