public string DataTableToExcel(DataTable dt,string excelPath)
        {
            if(dt == null)
            {
                return "DataTable不能为空";
            }

int rows = dt.Rows.Count;
            int cols = dt.Columns.Count;
            StringBuilder sb;
            string connString;

if(rows == 0)
            {
                return "没有数据";
            }

sb = new StringBuilder();
            connString = string.Format(ConnectionString,excelPath);

//生成创建表的脚本
            sb.Append("CREATE TABLE ");
            sb.Append(dt.TableName + " ( ");

for(int i=0;i<cols;i++)
            {
                if(i < cols - 1)
                    sb.Append(string.Format("{0} varchar,",dt.Columns[i].ColumnName));
                else
                    sb.Append(string.Format("{0} varchar)",dt.Columns[i].ColumnName));
            }

using(OleDbConnection objConn = new OleDbConnection(connString))
            {
                OleDbCommand objCmd = new OleDbCommand();
                objCmd.Connection = objConn;

objCmd.CommandText = sb.ToString();

try
                {
                    objConn.Open();
                    objCmd.ExecuteNonQuery();
                }
                catch(Exception e)
                {
                    return "在Excel中创建表失败,错误信息:" + e.Message;
                }

生成插入数据脚本#region 生成插入数据脚本
                sb.Remove(0,sb.Length);
                sb.Append("INSERT INTO ");
                sb.Append(dt.TableName + " ( ");

for(int i=0;i<cols;i++)
                {
                    if(i < cols - 1)
                        sb.Append(dt.Columns[i].ColumnName + ",");
                    else
                        sb.Append(dt.Columns[i].ColumnName + ") values (");
                }

for(int i=0;i<cols;i++)
                {
                    if(i < cols - 1)
                        sb.Append("@" + dt.Columns[i].ColumnName + ",");
                    else
                        sb.Append("@" + dt.Columns[i].ColumnName + ")");
                }
                #endregion

//建立插入动作的Command
                objCmd.CommandText = sb.ToString();
                OleDbParameterCollection param = objCmd.Parameters;

for(int i=0;i<cols;i++)
                {
                    param.Add(new OleDbParameter("@" + dt.Columns[i].ColumnName, OleDbType.VarChar));
                }

//遍历DataTable将数据插入新建的Excel文件中
                foreach (DataRow row in dt.Rows)
                {   
                    for (int i=0; i<param.Count; i++)
                    {
                        param[i].Value = row[i];
                    }

objCmd.ExecuteNonQuery();
                }

return "数据已成功导入Excel";
            }//end using
        }

转载于:https://www.cnblogs.com/Nina-piaoye/archive/2006/08/31/490977.html

使用ADO.net将数据导出到Excel并提供下载相关推荐

  1. H5将网页数据导出为Excel并可下载

    H5将网页数据导出为Excel并可下载 在制作webapp中,遇到个要将数据导出为Excel的问题.我搜索了一下网上的方案,可以直接将HTML的表格导出为Excel文件,这些方法在电脑上确实是可行的, ...

  2. 轉:VB6中将数据导出到Excel提速之法

    from : http://www.it86.cc/develop/2008/0410/28928.shtml Excel 是一个非常优秀的报表制作软件,用VBA可以控制其生成优秀的报表,本文通过添加 ...

  3. excel文件导入hive乱码_把数据库数据导出到excel

    SQL Server BI Step by Step 2--- 使用SSIS进行简单的数据导入导出 让我们首先开始学习SSIS吧,利用SSIS把SQL Server中的数据导出.首先,打开Vs.net ...

  4. 百度指数常见php框架,怎么导出数据到excel表格-如何将百度指数数据导出到Excel表格...

    如何将百度指数数据导出到Excel表格 第一步:打开CAD.CAD命令行输入"Li"."选择对象"选需要提取坐标的多段线.回车. 第二步:将CAD文本框中的数据 ...

  5. php怎么将表格导出到excel表格,php怎么将excel表格数据-php 怎么把数据导出到excel表格...

    如何使用php实现将数据从excel表导入到mysql中? /** * @param array $data //二维数组 不是对象 * @param string $filename //导件 */ ...

  6. python结果输出到excel-python实现数据导出到excel的示例--普通格式

    此文是在django框架下编写,从数据库中获取数据使用的是django-orm 用python导出数据到excel,简单到爆!(普通的excel格式) 安装xlwt pip install xlwt ...

  7. python处理大量excel数据-使用python将大量数据导出到Excel中的小技巧分享

    (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以 ...

  8. python输出数据到excel-python实现数据导出到excel的示例

    这篇文章主要介绍了关于python实现数据导出到excel的示例,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 此文是在django框架下编写,从数据库中获取数据使用的是django- ...

  9. python输出数据到excel-python实现数据导出到excel的示例--普通格式

    此文是在django框架下编写,从数据库中获取数据使用的是django-orm 用python导出数据到excel,简单到爆!(普通的excel格式) 安装xlwt pip install xlwt ...

  10. python输出数据到excel-使用python将大量数据导出到Excel中的小技巧分享

    (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以 ...

最新文章

  1. ac自动机模板(hdu2222)
  2. 解决Undefined function or method 'vgg_kmiter' for input arguments of type 'double'.
  3. 关于WeX5的初步学习
  4. 你竟然还不懂变分自编码机?这个16岁的OpenAI天才实习生讲得可透彻了
  5. sql join 与where的区别
  6. FPGA大数据之我认为的明天
  7. TabLayout中的Tab.setCustomView左右有空隙,TabLayout下划线间隙设置,下划线长度设置
  8. win7域内桌面黑屏
  9. Smart/400开发上手2: COBOL批处理程序处理过程
  10. LINUX报错:apt transaction returned result exit-failed
  11. opencv c++讲解jzg mxy tyd_python看代码就行
  12. npm安装express-art-template报错:no such file or directory, open 'D:xx\xx\package.json解决办法
  13. 加速度传感器检测物体倾角的原理
  14. instant java,java.time.Instant.compareTo()方法
  15. 游戏统计中一些常用的专业 术语和计算公式
  16. 不同图像锐化算子提取的图像信息有哪些不同_opencv数字图像处理(3)- 图像平滑与锐化...
  17. Aruco物体定位(追踪)在UE4中的实现
  18. 旋度的散度恒为0公式推导
  19. 计算机光驱运行功能,电脑如何设置光驱位第一启动项
  20. 理解什么是接口测试?怎样做接口测试?

热门文章

  1. pytorch的余弦退火学习率
  2. 【论文分享】PathQG: 基于事实的神经问题生成
  3. 传统机器学习流程总结
  4. 只用几行代码,我让模型『训练』加速了3倍以上!
  5. linux错误—3.解决设置普通用户的sudo权限中碰到的问题:sudo: /etc/sudoers is world writable...
  6. 数据结构与算法python—8.递归及leetcode总结
  7. python查看大文件的最后一行
  8. Python压平嵌套列表的一种方法
  9. 如何维护应用程序状态
  10. 搜索引擎中影响索引长度的因素