以下都只是介绍操作的原理,具体要求要在应用中具体分析改变。
1. 此方法常用在form或者Console Application中,使用时须用要添加Reference,具体做法:
右键点击项目添加“Add Reference”,在Tom组件下,选择“Microsoft Excel 14.0 Object Library”,然后在项目中使用
下面注释//it looks like excele table start with 1 not 1
应该为//it looks like excele table start with 1 not 0
private static void exportToExcel(DataTable dt) { Excel.Application excel=new Excel.Application(); excel.Application.Workbooks.Add(true); excel.Visible = true; //get the columns for (int i = 0; i < dt.Columns.Count;i++ ) { //here is started with 1 //it looks like excele table start with 1 not 1 excel.Cells[1,i + 1] = dt.Columns[i].ColumnName.ToString(); } //get the data in rows for (int row = 0; row < dt.Rows.Count;row++ ) { for (int col = 0; col < dt.Columns.Count; coL++) { excel.Cells[row+2,col+1] = dt.Rows[row][dt.Columns[col]].ToString(); } } //FolderbrowserDialog path = new FolderbrowserDialog();//打开文件对话框 //path.ShowDialog(); //textBox1.Text = path.Selectedpath;//选择文件夹 //save excel //excel.SaveWorkspace(); excel.Quit(); }
2. 在web应用中,可通过HttpContext.Response.write()来实现
protected static void toExcel(DataTable da){ System.Web.HttpContext context = System.Web.HttpContext.Current; context.Response.Clear(); foreach( DataColumn colum in da.Columns){ context.Response.Write(colum.ColumnName+"\t"); } context.Response.Write(System.Environment.NewLine); foreach (DaTarow row in da.Rows) { for (int i = 0; i < da.Rows.Count; i++) { context.Response.Write(row[i].ToString()+"\t"); } context.Response.Write(System.Environment.NewLine); } context.Response.ContentType = "application/vnd.ms-excel"; context.Response.AppendHeader("Content-disposition","attachment; filename=plan.xls"); context.Response.End(); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。