以下都只是介绍操作的原理,具体要求要在应用中具体分析改变。
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????
?????????
[csharp]?
view plain
copy
- private?static?void?exportToExcel(DataTable?dt)??
- ????????{??
- ????????????Excel.Application?excel=new?Excel.Application();??
- ????????????excel.Application.Workbooks.Add(true);??
- ????????????excel.Visible?=?true;??
- ??
- ??????????????
- ????????????for?(int?i?=?0;?i?<?dt.Columns.Count;i++?)??
- ????????????{??
- ??????????????????
- ??????????????????
- ????????????????excel.Cells[1,?i?+?1]?=?dt.Columns[i].ColumnName.ToString();???
- ????????????}??
- //get?the?data?in?rows??
- int?row?=?0;?row?<?dt.Rows.Count;row++?)??
- ????????????????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();//打开文件对话框??
- ??????????????
- //textBox1.Text?=?path.SelectedPath;//选择文件夹??
- //save?excel??
- //excel.SaveWorkspace();??
- ??
- ????????????excel.Quit();??
- ????????}??
2. 在web应用中,可通过HttpContext.Response.write()来实现
copy
protected?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)?{??
- 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();??
- ????} ?
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|