先将数据绑定到一个控件中,例如gridview:放一个按钮,代码如下:protected void ibtnExcel_" />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 急!!!在<em>asp.net</em> C#中,如何将数据库(sql)中...

急!!!在<em>asp.net</em> C#中,如何将数据库(sql)中...

作者:乔山办公网日期:

返回目录:excel表格制作


直接输出

先将数据绑定到一个控件中,例如gridview:
放一个按钮,代码如下:
protected void ibtnExcel_Click(object sender, ImageClickEventArgs e)
{
string FileName = "标题 " + DateTime.Now + ".xls";
Response.Charset = "GB2312";
Response.ContentEncoding = Encoding.UTF8;//System.Text
//如果设置GB2312会出现乱码
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
Response.AddHeader("content-type", "application / ms - excel");//设置输出文件的类型e69da5e6ba90e799bee5baa6e79fa5e98193338
//或Response.ContentType = FileType;
//定义一个输出流
StringWriter tw = new StringWriter();//System.IO
HtmlTextWriter hw = new HtmlTextWriter(tw);
gridview1.RenderControl(hw);//gridview绑定
Response.Write(tw.ToString());
Response.End();
}

public override void VerifyRenderingInServerForm(Control control)
{
//必须写这个;
}
ASP.NET导出成EXCEL的方法很多,只需要调用EXCEL的程序接口即可,前提是运行你网站的这台电脑上安装了 EXCEL软件(至少为2003版本),不过对于服务器来说,EXCEL是一个相当累赘的东西,建议你还是去搜索下 LIST 转 CSV 的方法,CSV格式不需要任何EXCEL的接口,输出的文件既可以被EXCEL打开,也可以使用TXT打开,服务器的负担也仅限于读取LIST数据而已。

代码发到那?
/// <summary>
/// 导出DataGridView的数据到Excel表中
/// </summary>
/// <param name="m_DataView"></param>
public static void DataToExcel(DataGridView m_DataView)
{
SaveFileDialog kk = new SaveFileDialog();
kk.Title = "保存EXECL文件e68a84e8a2ade799bee5baa6e79fa5e98193363";
kk.Filter = "EXECL文件(*.xls) |*.xls|所有文件(*.*) |*.*";
kk.FilterIndex = 1;
if (kk.ShowDialog() == DialogResult.OK)
{
string FileName = kk.FileName;// + ".slsx";
if (File.Exists(FileName))
File.Delete(FileName);
FileStream objFileStream;
StreamWriter objStreamWriter;
string strLine = "";
objFileStream = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write);
objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode);
for (int i = 0; i < m_DataView.Columns.Count; i++)
{
if (m_DataView.Columns[i].Visible == true)
{
strLine = strLine + m_DataView.Columns[i].HeaderText.ToString() + Convert.ToChar(9);
}
}
objStreamWriter.WriteLine(strLine);
strLine = "";

for (int i = 0; i < m_DataView.Rows.Count; i++)
{
if (m_DataView.Columns[0].Visible == true)
{
if (m_DataView.Rows[i].Cells[0].Value == null)
strLine = strLine + " " + Convert.ToChar(9);
else
strLine = strLine + m_DataView.Rows[i].Cells[0].Value.ToString() + Convert.ToChar(9);
}
for (int j = 1; j < m_DataView.Columns.Count; j++)
{
if (m_DataView.Columns[j].Visible == true)
{
if (m_DataView.Rows[i].Cells[j].Value == null)
strLine = strLine + " " + Convert.ToChar(9);
else
{
string rowstr = "";
rowstr = m_DataView.Rows[i].Cells[j].Value.ToString();
if (rowstr.IndexOf("\r\n") > 0)
rowstr = rowstr.Replace("\r\n", " ");
if (rowstr.IndexOf("\t") > 0)
rowstr = rowstr.Replace("\t", " ");
strLine = strLine + rowstr + Convert.ToChar(9);
}
}
}
objStreamWriter.WriteLine(strLine);
strLine = "";
}
objStreamWriter.Close();
objFileStream.Close();
}
}
调用
Main_BodyExcel.DataToExcel(gwSum);

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网