C#导入导出excel的问题

2025-03-30 18:37:55
推荐回答(4个)
回答1:

//导入EXCLE
public static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties=Excel 5.0;";
string strExcel = string.Format("select * from [{0}$]", strSheetName);
DataSet ds = new DataSet();
using (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName);
conn.Close();
}
return ds.Tables[strSheetName];
}
//导出EXCLE的代码
protected void ExcleOut(DataSet ds)
{
Response.Write("

XXXX
");
DataGrid dg = new DataGrid();
Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToShortDateString() + ".xls");
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.Default;
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/ms-excel";
dg.DataSource = ds;
dg.DataBind();
// dg.Page.EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
dg.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}

///很久以前做的了。忘了一些东西,假如不清楚的话可以百度 清清月儿 博客里面有很多C#的东西都很实用

回答2:

public override void VerifyRenderingInServerForm(Control control)
{
//注释掉下面的代码,否则在asp.net2.0下会报错(注:GridView是asp.net2.0下的控件,1.1下一些控件也可以导出成Excel或者Word)
// base.VerifyRenderingInServerForm(control);
}

protected void Button1_Click(object sender, EventArgs e)
{
//导出按钮的事件 ,你只管套用,没有你写得那么复杂

Response.Clear();
Response.BufferOutput = true;
//设定输出的字符集
Response.Charset = "GB2312";
//假定导出的文件名为FileName.xls
Response.AppendHeader("Content-Disposition", "attachment;filename=AnyDate_Tongji.xls"); //你的表名
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
//设置导出文件的格式
Response.ContentType = "application/ms-excel";
//关闭ViewState
EnableViewState = false;
System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultureInfo);
System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter);
this.GridView1.RenderControl(textWriter);
//把HTML写回浏览器
Response.Write(stringWriter.ToString());
Response.End();

}

那么简单的问题 有什么疑问晚上联系我给你解决

回答3:

最好导出格式为csv的,wps也能够支持

回答4:

楼主 要的话我给你发个例子过去