乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 急!!!在asp.net C#中,如何将数据库(sql)中...

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

作者:乔山办公网日期:

返回目录:excel表格制作


js处理需要用到axcivex,从该客户端的角度来说不现实。后端直接copy进行联合查询,然后导出到Excel(方法太多了)。当然了,如果你三张表的数据都取出来了,直接在后端拼接数据库也是可以的,可以循环,我觉得用linq处理代码量会少点。只提供一下思路而已

先将数据绑定到一个控件中,例如gridview:
放一个按钮,代e799bee5baa6e997aee7ad94e58685e5aeb9338码如下:
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");//设置输出文件的类型
//或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)
{
//必须写这个;
}
参数解释:dt--导出的表。 toFileName入到的Execl。 strSheetName Execl中的sheet名。
private void doExport(DataTable dt, string toFileName, string strSheetName)
{

Excel.Application excel = new Excel.Application(); //Execl的操作类
//读取保存目标的对象
Excel.Workbook bookDest = excel.Workbooks._Open(toFileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);//打开要导出到的Execl文件的工作薄。--ps:关于Missing类在这里的作用,我也不知道...囧

Excel.Worksheet sheetDest = bookDest.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value) as Excel.Worksheet;//给工作薄添加一个Sheet

sheetDest.Name = strSheetName;//自己定义名字O(∩_∩)O哈哈~

int rowIndex = 1;
int colIndex = 0;

excel.Application.Workbooks.Add(true);//这句不写不知道会不会报错

foreach (DataColumn col in dt.Columns)
{
colIndex++;
sheetDest.Cells[1, colIndex] = col.ColumnName;//Execl中的第e799bee5baa6e997aee7ad94e58685e5aeb9331一列,把DataTable的列名先导进去
}

//导入数据行
foreach (DataRow row in dt.Rows)
{
rowIndex++;
colIndex = 0;
foreach (DataColumn col in dt.Columns)
{
colIndex++;
sheetDest.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
}
}

bookDest.Saved = true;

bookDest.Save();
excel.Quit();
excel = null;

GC.Collect();//垃圾回收
}

不知道你能理解吗,这个方法是肯定可行的。我试过
有不懂的地方可以问我

this.Response.Write(sw.ToString());

你应该给个名字,然后 saveas()

相关阅读

  • 谁有完整版的Excel2007办公软件啊

  • 乔山办公网excel表格制作
  • excel吗?我教你转Microsoft office2007免费版下载|Microsoft office2007使用方法很简单,解压软件之后,运行“setup.exe”之后按照提示点击下一步,就可以正常安装了。  Microsoft office2007免费完
关键词不能为空
极力推荐

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