Datatable 导出Excel 到指定路径

原创 2013年12月05日 15:24:53
/// <summary>
        /// 将DataTable中的数据导出到Excel(支持Excel2003和Excel2007)
        /// </summary>
        /// <param name="dt"> DataTable</param>
        /// <param name="url">Excel保存的路径DataTable</param>
        /// <returns>导出成功返回True,否则返回false</ returns >
        public bool ExportExcel(SysData.DataTable dt, string url)
        {
            bool falge = false;
            Microsoft.Office.Interop.Excel.Application objExcel = null;
            Workbook objWorkbook = null;
            Worksheet objsheet = null;

            try
            {
                //申明对象
                objExcel = new Microsoft.Office.Interop.Excel.Application();
                objWorkbook = objExcel.Workbooks.Add(Missing.Value);
                objsheet = (Worksheet)objWorkbook.ActiveSheet;

                //设置Excel不可见
                objExcel.Visible = false;
                objExcel.DisplayAlerts = false;

                //设置Excel字段类型全部为字符串
                objsheet.Cells.NumberFormat = "@";

                //向Excel中写入表格的标头
                int displayColumnsCount = 1;
                for (int i = 0; i < dt.Columns.Count; i++) {
                    objExcel.Cells[1, displayColumnsCount] = dt.Columns[i].ColumnName.Trim();
                    displayColumnsCount++;
                }
                //向Excel中逐步逐列写入表格中的数据
                for (int row = 0; row < dt.Rows.Count; row++) {
                    displayColumnsCount = 1;
                    for (int col = 0; col < dt.Columns.Count; col++) {
                        try
                        {
                            objExcel.Cells[row + 2, displayColumnsCount] = dt.Rows[row][col].ToString().Trim();
                            displayColumnsCount++;
                        }
                        catch (Exception) { }
                    }
                }

                //保存文件 SaveAs解释可查看http://msdn.microsoft.com/zh-cn/library/microsoft.office.tools.excel.workbook.saveas(v=vs.80).aspx
                objWorkbook.SaveAs(url, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
                falge = true;
            }
            catch (Exception ex){
                falge=false;
                MessageBox.Show(ex.Message,"温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
            }
            finally{
                //关闭Excel应用
                if (objWorkbook != null) objWorkbook.Close(Missing.Value, Missing.Value, Missing.Value);
                if (objExcel.Workbooks != null) objExcel.Workbooks.Close();
                if (objExcel != null) objExcel.Quit();

                //杀死进程
                KillProcess("Excel");
                objsheet = null;
                objWorkbook = null;
                objExcel = null;
            }
            return falge;            
        }


        public void KillProcess(string ProcessName) {
            System.Diagnostics.Process myproc = new System.Diagnostics.Process();
            try
            {
                foreach (System.Diagnostics.Process thisproc in System.Diagnostics.Process.GetProcessesByName(ProcessName))
                {
                    if (!thisproc.CloseMainWindow())
                    {
                        thisproc.Kill();
                    }
                }
            }
            catch (Exception ex) {
                throw new Exception("", ex);
            }
        }

C#将DataTable海量数据导出到Excel

http://blog.csdn.net/jadeflute/article/details/5853000 http://www.cnblogs.com/px7034/archive/2010/0...
  • kenkao
  • kenkao
  • 2015年04月09日 14:57
  • 2866

C#中如何将DataTable中的数据导出到Excel

Q:如何将数据库的数据通过C#导出到Excel表 本示例原理是:     将数据库的表数据存放在DataTable中,然后通过DataTable将数据导出到Excel中进行存放。     其中Data...
  • ddboy1024
  • ddboy1024
  • 2013年11月29日 13:52
  • 4002

将Datatable导出到Excel三种方案以及分析(无NPOI)

以下是未引用NPOI情况下,datatable导出excel的三种方案,并进行简单的分析。  说明:excelTable 要导出的excel string filePath, 保存文件的路径 s...
  • u013759319
  • u013759319
  • 2016年11月29日 16:16
  • 1456

web中c#,DataTable导出至Excel,下载

具体实现功能,从数据库获取数据datatable,将datatable中的数据读取写入到本地的一个xls文件中,调用链接形式下载该文件。 1、界面列表(表名列表),点击该条数据,实现下载该表结构数据...
  • qq_31971935
  • qq_31971935
  • 2017年04月07日 15:25
  • 562

C#中使用NPOI将DataTable导出到Excel文件

需要引入dll(可以选择.net2.0、.net3.5或者.net4.0的dll) 点击下载DLL NopiExcel.cs类 using System; using System.Collect...
  • wwk0125
  • wwk0125
  • 2015年10月05日 11:24
  • 1857

asp.net 将DataTable中的数据导出到Excel并下载方法

我上一篇文章介绍了Excel导入到DataTable的方法,总觉得少些什么,这篇我就将DataTable         中的数据导出到Excel并提供下载的方法记录下来。        ...
  • lishimin1012
  • lishimin1012
  • 2014年08月06日 15:07
  • 13854

使用NPOI将DataTable中的数据导入到Excel中

using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin...
  • wwei466
  • wwei466
  • 2014年10月17日 01:10
  • 2330

20160307 DataTableToExcel(将数据库中的数据导出到Excel表)

C#代码如下(需要添加Microsoft.Office.Core以及Microsoft.Office.Interop.Excel引用): using System; using System.Coll...
  • KevinHuang2088
  • KevinHuang2088
  • 2016年03月07日 09:48
  • 460

C# 将数据导出到Excel汇总

将DataGrid控件中的数据导出Excel 上述方法虽然实现了导出的功能,但同时把按钮、分页框等html中的所有输出信息导了进去。而我们一般要导出的是数据,DataGrid控件上的数据。 ...
  • luoyanqing119
  • luoyanqing119
  • 2014年09月30日 16:55
  • 1911

POI导出JavaWeb中的table到excel下载

做项目的时候遇到这样的需求:  一个表单,输入信息点击查询得到一个table,然后导出table里的内容到excel,让用户下载。如下图:  需要解决的问题:  1、如何让一个form提...
  • w1014074794
  • w1014074794
  • 2015年12月05日 09:32
  • 2416
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Datatable 导出Excel 到指定路径
举报原因:
原因补充:

(最多只允许输入30个字)