DataTable ---导出Excel
2015-09-30 08:57
232 查看
//mscorlib.dll,v4.0.0.0&&Microsoft.Office.Interop.Excel.dll,v14.0.0.0
///<summary>
///导出Excel
///</summary>
///<paramname="dt_data">要导出的数据表</param>
///<summary>
///保存文件对话框(保存则返回文件名,取消返回为“”)
///</summary>
///<paramname="title">保存对话框窗体Caption</param>
///<paramname="filter">文件保存类型</param>
///<returns>文件名</returns>
///http://www.cnblogs.com/zlytu/archive/2013/04/10/3013254.html(详)
Code39一维码
///<summary>
///导出Excel
///</summary>
///<paramname="dt_data">要导出的数据表</param>
publicvoidExcelPort(DataTabledt_data) { try { //表格控件对象(方法见后面) stringfileName=ShowSaveFileDialog("MicrosoftExcelDocument","MicrosoftExcel|*.xls"); if(string.IsNullOrEmpty(fileName))return; //创建Excel对象 System.Reflection.Missingmiss=System.Reflection.Missing.Value; //此处引用Microsoft.Office.Interop.Excel.dll,v14.0.0.0且必须与电脑安装office达到一致(否则不能正常创建对象) Microsoft.Office.Interop.Excel.Applicationxlapp=newMicrosoft.Office.Interop.Excel.Application(); xlapp.Visible=false;//是否显示导出过程,建议关闭,否则在导出过程中鼠标点击Excel文件时会出错。 xlapp.UserControl=true; Microsoft.Office.Interop.Excel.Workbooksworkbooks=xlapp.Workbooks; //加载模板(必须先制作好导出模版,在此处引用)worKbooks.Add(url)url为模版路径 Microsoft.Office.Interop.Excel._Workbookworkbook=workbooks.Add(Application.StartupPath.ToString()+("\\Model\\modelNm.xls")); Microsoft.Office.Interop.Excel.Sheetssheets=workbook.Sheets; Microsoft.Office.Interop.Excel._Worksheetworksheet=null; introw=0,column=0; if(fileName=="")return; try { //选中第1个工作薄。并给工作簿添加内容内容 //①表格头设置 worksheet=(Microsoft.Office.Interop.Excel._Worksheet)sheets.get_Item(1); //eg.2015年9月30日xxx worksheet.Cells[1,1]=DateTime.Now.Year+"年"+DateTime.Now.Month+"月"+DateTime.Now.Day+"日"+"xxx"; worksheet.Name="TableNm"; // worksheet.Cells[2,3]="*"+xxx+"*"; worksheet.Cells[3,3]=xxx; worksheet.Cells[4,3]=xxx; worksheet.Cells[4,6]=xxxx; row=dt_data.Rows.Count; column=dt_data.Columns.Count; ②表格主体内容设置 for(inti=1;i<=row;i++) { //前面四行是表头(由模板决定) intlint_row=i+5; intdt_row=i-1; worksheet.Cells[lint_row,2]=dt_data.Rows[dt_row][columNm].ToString(); worksheet.Cells[lint_row,3]=dt_data.Rows[dt_row][column].ToString(); worksheet.Cells[lint_row,4]=dt_data.Rows[dt_row][column].ToString(); worksheet.Cells[lint_row,5]=dt_data.Rows[dt_row][column].ToString(); worksheet.Cells[lint_row,6]=dt_data.Rows[dt_row][column].ToString(); worksheet.Cells[lint_row,7]=dt_data.Rows[dt_row][column].ToString(); } //保存数据 workbook.RefreshAll(); //保存数据 workbook.SaveCopyAs(fileName); //退出excel workbook.Close(false,miss,miss); DevExpress.XtraEditors.XtraMessageBox.Show("表格数据已成功导出!"+"\r\n文件名:"+fileName,"",MessageBoxButtons.OK,MessageBoxIcon.Information); } catch(Exceptionex) { MessageBox.Show(ex.Message+":"+ex.ToString()); } finally { xlapp.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(workbooks); System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook); System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet); System.Runtime.InteropServices.Marshal.ReleaseComObject(xlapp); xlapp=null; GC.Collect(); } } catch(Exceptionex) { MessageBox.Show(ex.Message+":"+ex.ToString()); } }
//保存对话框System.Windows.Forms.dll,v4.0.0.0
///<summary>
///保存文件对话框(保存则返回文件名,取消返回为“”)
///</summary>
///<paramname="title">保存对话框窗体Caption</param>
///<paramname="filter">文件保存类型</param>
///<returns>文件名</returns>
///http://www.cnblogs.com/zlytu/archive/2013/04/10/3013254.html(详)
publicstaticstringShowSaveFileDialog(stringtitle,stringfilter)
{
SaveFileDialogdlg=newSaveFileDialog();
stringname="Name"+System.DateTime.Now.ToString("yyyyMMddHHmmss",System.Globalization.DateTimeFormatInfo.InvariantInfo);
intn=name.LastIndexOf(".")+1;
if(n>0)name=name.Substring(n,name.Length-n);
//"ExportTo"
dlg.Title="文件保存";
//文件名
dlg.FileName=name;
//文件保存类型(eg.MicrosoftExcel|*.xls)
dlg.Filter=filter;
if(dlg.ShowDialog()==DialogResult.OK)returndlg.FileName;
return"";
}
Code39一维码
相关文章推荐
- telnet关闭tomcat
- ofbiz 定义
- JS获取当前浏览器的类型 (IE11前可以这么判断)
- ubuntu下mysql的一些操作
- selenium2
- XML字符串解析成对象的时候应注意空格
- apache vhost配置
- ofbiz 登录时默认进入一个指定的模块
- 去除焦点边框线
- [转]Java 可变参数
- ofbiz 的 service eca调用方式解析
- Firewalld 转发解决tomcat 不能访问80
- vc中edit控件使用总结-控件关联变量方法,语句 ,本质,控件获取,实现滚动换行
- 如何查看和更改mysql数据库文件存放位置
- test9.3
- iOS 程序启动顺序
- window编程 - 俄罗斯方块
- iOS讲解迷惑深入浅出之懒加载
- SQL Server 2005 中的分区表和索引
- 设置div,td失去焦点