在.NET中 用OleDB 把 DataSet 数据导出到 Excel文件里

C# 采用OleDB读取EXCEL文件并导出 功能描述: 1、选择当前路径下的所有xls文件(xls文件必须是统一格式); 2、选取Excel中某个sheet中的某几列读入到Dataset里面; 3、从Dataset导出到Excel表格 注:此代码运行是需有office组建作为支持,即运行该程序的电脑上必须安装office软件;程序由VS2012开发。 立即下载
在.NET中 用OleDB 把 DataSet 数据导出到 Excel文件里
下面对函数说明:
//dt为数据源(数据表)
//ExcelFileName 为要导出的Excle文件
//ModelFile为模板文件,该文件与数据源中的表一致。否则数据会导出失败。
//ModelFile文件里,需要有一张 与 dt.TableName 一致的表,而且字段也要一致。
//注明:如果不用ModelFile的话,可以用一个空白Excel文件,不过,要去掉下面创建表的注释,让OleDb自己创建一个空白表。


public static string TableToExcelFile(DataTable dt,string ExcelFileName,string ModelFile)
        {
            File.Copy(ModelFile,ExcelFileName);  //复制一个空文件,提供写入数据用
           
            if(File.Exists(ExcelFileName)==false)
            {
                return "0|系统创建临时文件失败,请与系统管理员联系!";
            }
           


            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="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ExcelFileName+";Extended Properties=Excel 8.0;";

           
           
            //生成创建表的脚本
            //----sb.Append("DROP TABLE "+dt.TableName);
           
            /*
            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));
            }
                       
            */
           
            //return sb.ToString();

            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;
                }

                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 + ")");
                }
               

                //建立插入动作的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";
            }
需要加入以下引用
using System;
using System.IO;
using System.Text;
using System.Data;
using System.Data.OleDb;
在VC_中实现Excel数据的导出_导入 使用VC++ MFC 的ODBC 类,将Excel 文件当作一般的数据库表格,利用ODBC 技术像访问数据库一样去读/写Excel 文 件。该文结合应用实例讨论了在VC++程序中导出/导入Excel 数据的方法。 立即下载

相关推荐

VC输出数据到Excel.txt

VC输出数据到Excel.txt ,很好的例子

Oledb的方式导出Excel

Oledb的方式导出Excel

iamliangyuhui的专栏 3807

Dataset导出到Excel

将Dataset导出到Excel,本程序阐述基本功能-Dataset exported to Excel, the program described the basic functions of

asp.net中使用OLEDB操作Excel

最近项目中需要导出Excel数据表单,试了好几种方法,都感觉不怎么顺手,然后老大喊我去看看OLEDB,我接着花世间去学习了一下,感觉还挺不错的。 开始在网上找了一些代码, 然后需要配置连接字符串 我电脑上安装的office 2007: 所以连接字符串为:"Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + filepath + ";Exten

yangmingxing980的专栏 2913

VCMFC中如何将数据导入excel表格

VC,MFC中如何将数据导入excel表格

VC 报表打印 报表导出 2.0 (使用Excel实现)

使用Excel相关的COM组件封装的报表打印功能,多线程方式导出报表,采用配置文件设置报表的相关信息,在Visual C++ 6.0下测试通过。 本版本重新构造了报表导出的参数结构信息,使用CExcelWnd封装了报表打印和导出的功能,简化了调用时的入口参数,使用的时候只需要关注 Export(CListCtrl &list, int iFields, BOOL bPrint)方法即可。

将Excel或CSV文件中的数据导出到DataSet

 在我们的.Net程序中,有时需要将Excel中的表格数据或CSV文件中的数据导出到DataSet然后再进行处理,下面的方法使用OleDB来实现这一功能: Excel到DataSet: string xlsPath = @"D:/documents/TestLoad2.xls"; // 绝对物理路径 string connStr = "Provider=Microsoft.Jet.

babyan的专栏 1262

C#使用oledb导出数据到excel的方法

本文实例讲述了C#使用oledb导出数据到excel的方法。分享给大家供大家参考,具体如下: 现在做应用的一半都会碰到数据导出的问题,导出到word阿,导出到excel啊,还有其他的什么。当然导出的类型中还是以ms office的居多。最近在做数据的转换,也碰到这个导出的问题,当然幸运的是不用碰word,这样涉及到就只有xml,csv,tsv和最“痛苦”的excel了。 最开始的想法是xml+xslt,搞定全部,但是有一个问题就是excel只有在xp版本之后支持xml,我不能强制的要求用户都把他们的office升级到xp以后,毕竟人家用的是正版。所以对于这个,还有一个方法,也是网上用的比较多的

在asp.net中实现dataset与excel的相互导入导出

从excel文件导入到dataset可以把excel文件看作是一个数据库,因此这一部分其实就是一个从数据库取数然后保存在dataset的过程,相对比较简单。 代码如下public DataSet Import(System.Web.UI.HtmlControls.HtmlInputFile SelectFile,DataSet private_DataSet,DataGrid dg,int f

jianfengujs的专栏 2870

通过ssh进行宇树g1机器人进行连接

原因:就是g1机器人输出接口损坏,无法连接外部显示器。前期准备:本文电脑是联想Y7000p(windows)2.进入页面后:3.出现是一个压缩包,解压后:4.安装时:要注意,需要在文件夹中找到这个文件目录,然后在此鼠标右键开启终端进行安装:接着按照提示next下去即可,可以自定义安装路径。

m0_72207463的博客 1285

【ANSYS APDL】提取结构刚度矩阵完整过程--附Python代码实现

ANSYS的结构刚度矩阵提取中一些操作技巧

m0_61038364的博客 1万+

asp.net Excel导入&导出

在上个项目中,需要对Excel进行导入和导出,现在就把我的实现方法整理出来。1、Excel数据导入到数据库中://该方法实现从Excel中导出数据到DataSet中,其中filepath为Excel文件的绝对路径,sheetname为表示那个Excel表;        public DataSet ExcelDataSource( string filepath , string s

smartyaya的专栏 1万+

uds协议之can总线程序升级

uds协议简介 如何利用uds协议升级 升级流程 uds服务类型介绍

fangye945a的博客 1万+

用gridview显示来自excel表格里的数据

在asp.net 2.0中,如何用gridview显示来自建立好的EXCEL文件的内容呢,其实是很简单的,下面给出简单代码片断protected void Page_Load(object sender, EventArgs e){  OleDbConnection DBConnection = new     OleDbConnection("Provider=Microsoft.Jet.O

水上漂的专栏 2989

单目视觉定位:深入解析PNP算法在机器人导航中的实战应用

本文深入解析了PNP算法在机器人单目视觉定位中的核心原理与实战应用。通过拆解坐标变换四步,详细阐述了如何从二维图像点反求相机三维位姿。文章结合OpenCV的solvePnP函数,提供了算法选择、参数调优及结果后处理的实用指南,并针对机器人导航中的特征匹配、尺度不确定性等挑战,给出了鲁棒性优化与实时性平衡的解决方案。

weixin_29083649的博客 419

YOLOv12涨点改进 | 全网独家首发Conv改进篇 | Arxiv 2025 | 引入一种新的WConv加权卷积改进YOLOv12,显著提升其特征提取能力和目标检测精度

本文提出了一种新型加权卷积(WConv)模块,通过引入最优密度函数动态调整邻域像素权重,显著提升了YOLOv12目标检测性能。WConv在保持参数数量不变的情况下,提高了模型精度(VGG准确率提升10%)、增强了小目标检测能力,并改善了多尺度特征提取。文中详细介绍了模块原理、网络结构改进方法,并提供了核心代码实现和yaml配置文件。实验表明,该方法在图像任务中最高可降低53%的损失,虽然会带来11%的时间开销,但具有优异的鲁棒性。该技术可广泛应用于2D/3D图像处理领域。

Ai缝合怪、助力小伙伴高效发论文 215

c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件

<br />Microsoft Jet 提供程序用于连接到 Excel 工作簿。在以下连接字符串中,Extended Properties 关键字设置 Excel 特定的属性。“HDR=Yes;”指示第一行中包含列名,而不是数据,“IMEX=1;”通知驱动程序始终将“互混”数据列作为文本读取。Excel 8.0 针对Excel2000及以上版本,Excel5.0 针对Excel97。Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/MyExcel.xls;Ext

hlzyly的专栏 3万+

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项复赛模拟卷1:文末附答案)

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项复赛模拟卷1:文末附答案)

王老师青少年编程 1614

对.NET中导出数据到EXCEL的几种方法探讨

最近在做一个报表系统的时候,需要把DATASET中的数据导到EXCEL当中,于是在网上找了一遍,发现了好几种方法,本来以为应该差不多,但后来经过一一试用后,发现在性能上真的差别很大,现在就介绍一下,同时有不对的希望可以指正: 1. 原理:利用office组件把dataset中的数据填充到excel文件当中。这里我不贴出全部代码了,只把关键部分贴出来:         ///  

szg3827的专栏 1066

[网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster原理详解

Web渗透技术的核心是发现Web漏洞,发现漏洞有手工和软件自动化扫描两种方式。对于用户验证漏洞、用户凭证管理问题、SQL注入等常见Web漏洞,都可以通过Web扫描器进行扫描。各个扫描器的功能和结果都不同,常见的包括HScan、HScan、X-Sccan、Acunetix Web Vulnerability Scanner、Jsky、Router Scan扫描工具等。本文主要讲解三个常见的Web漏洞扫描工具,分别是NMapp、ThreatScan和DirBuster。希望这篇基础性文章对你有所帮助.

杨秀璋的专栏 1万+

21、空间数据处理中的克里金方法及应用

本文介绍了空间数据处理中的克里金方法,特别是带外部漂移的克里金法(KED)及其在遥感数据融合和支持变化问题中的应用。讨论了克里金方法的基本原理、优缺点以及在不同空间分辨率遥感图像融合中的具体操作流程。同时,还涉及了地统计数据融合和支持变化问题的解决方案,包括块克里金法、面到点克里金法和多边形克里金法等。

gold的博客 90

ASP.NET 实现Excel文件的导入与导出

<br />     今天,写了一个关于ASP.NET 实现Excel文件的导入与导出,希望能给同学们带来一定的帮助。<br />     页面设计代码如下:<br />     <%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation="false" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XH

曾智的专栏 4118

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: SQL查询重复记录的办法
下一篇: 用Response向客户端发送文件(ASP.NET)
EX_NET
博客等级 码龄21年 953粉丝 270原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值