SQL导出为Excel表

用C#代码把SQL 数据库的表导出到Excel using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI 阅读详情

IF OBJECT_ID('ExportToExcel') IS NOT NULL DROP PROC ExportToExcel 


GO 

  

CREATE PROCEDURE ExportToExcel ( 

  @server sysname = null, 

  @uname sysname = null, 

  @pwd sysname = null, 

  @QueryText varchar(200) = null, 

  @filename varchar(200) = 'c:/ImportToExcel.xls'

) 

AS

DECLARE @SQLServer int, 

        @QueryResults int, 

        @CurrentResultSet int, 

        @object int, 

        @WorkBooks int, 

        @WorkBook int, 

        @Range int, 

        @hr int, 

        @Columns int, 

        @Rows int, 

        @indColumn int, 

        @indRow int, 

        @off_Column int, 

        @off_Row int, 

        @code_str varchar(100), 

        @result_str varchar(255) 

  

IF @QueryText IS NULL 

  BEGIN

    PRINT 'Set the query string'

    RETURN

  END

  

-- Sets the server to the local server 

IF @server IS NULL SELECT @server = @@servername 

  

-- Sets the username to the current user name 

IF @uname IS NULL SELECT @uname = SYSTEM_USER

  

SET NOCOUNT ON

  

EXEC @hr = sp_OACreate 'SQLDMO.SQLServer', @SQLServer OUT

IF @hr <> 0 

BEGIN

    PRINT 'error create SQLDMO.SQLServer'

    RETURN

END

  

--  Connect to the SQL Server 

IF @pwd IS NULL

  BEGIN

    EXEC @hr = sp_OAMethod @SQLServer, 'Connect', null, @server, @uname 

    IF @hr <> 0 

       BEGIN

         PRINT 'error Connect'

         RETURN

       END

  END

ELSE

  BEGIN

    EXEC @hr = sp_OAMethod @SQLServer, 'Connect', null, @server, @uname, @pwd 

    IF @hr <> 0 

      BEGIN

        PRINT 'error Connect'

        RETURN

      END

  END

  

SELECT @result_str = 'ExecuteWithResults("' + @QueryText + '")'

EXEC @hr = sp_OAMethod @SQLServer, @result_str, @QueryResults OUT

IF @hr <> 0 

BEGIN

    PRINT 'error with method ExecuteWithResults'

    RETURN

END

  

EXEC @hr = sp_OAMethod @QueryResults, 'CurrentResultSet', @CurrentResultSet OUT

IF @hr <> 0 

BEGIN

    PRINT 'error get CurrentResultSet'

    RETURN

END

  

EXEC @hr = sp_OAMethod @QueryResults, 'Columns', @Columns OUT

IF @hr <> 0 

BEGIN

    PRINT 'error get Columns'

    RETURN

END

  

EXEC @hr = sp_OAMethod @QueryResults, 'Rows', @Rows OUT

IF @hr <> 0 

BEGIN

    PRINT 'error get Rows'

    RETURN

END

  

EXEC @hr = sp_OACreate 'Excel.Application', @object OUT

IF @hr <> 0 

BEGIN

    PRINT 'error create Excel.Application'

    RETURN

END

  

EXEC @hr = sp_OAGetProperty @object, 'WorkBooks', @WorkBooks OUT

IF @hr <> 0 

BEGIN

    PRINT 'error create WorkBooks'

    RETURN

END

  

EXEC @hr = sp_OAGetProperty @WorkBooks, 'Add', @WorkBook OUT

IF @hr <> 0 

BEGIN

    PRINT 'error with method Add'

    RETURN

END

  

EXEC @hr = sp_OAGetProperty @object, 'Range("A1")', @Range OUT

IF @hr <> 0 

BEGIN

    PRINT 'error create Range'

    RETURN

END

  

SELECT @indRow = 1 

SELECT @off_Row = 0 

SELECT @off_Column = 1 

  

WHILE (@indRow <= @Rows) 

BEGIN

SELECT @indColumn = 1 

  

WHILE (@indColumn <= @Columns) 

BEGIN

  

EXEC @hr = sp_OAMethod @QueryResults, 'GetColumnString', @result_str OUT, @indRow, @indColumn 

IF @hr <> 0 

BEGIN

    PRINT 'error get GetColumnString'

    RETURN

END

  

EXEC @hr = sp_OASetProperty @Range, 'value', @result_str 

IF @hr <> 0 

BEGIN

    PRINT 'error set value'

    RETURN

END

  

EXEC @hr = sp_OAGetProperty @Range, 'Offset', @Range OUT, @off_Row, @off_Column 

IF @hr <> 0 

BEGIN

    PRINT 'error get Offset'

    RETURN

END

  

SELECT @indColumn = @indColumn + 1 

  

END

  

SELECT @indRow = @indRow + 1 

SELECT @code_str = 'Range("A' + LTRIM(str(@indRow)) + '")'

EXEC @hr = sp_OAGetProperty @object, @code_str, @Range OUT

IF @hr <> 0 

BEGIN

    PRINT 'error create Range'

    RETURN

END

  

END

  

SELECT @result_str = 'exec master..xp_cmdshell ''del ' + @filename + ''', no_output'

EXEC(@result_str) 

SELECT @result_str = 'SaveAs("' + @filename + '")'

EXEC @hr = sp_OAMethod @WorkBook, @result_str 

IF @hr <> 0 

BEGIN

    PRINT 'error with method SaveAs'

    RETURN

END

  

EXEC @hr = sp_OAMethod @WorkBook, 'Close'

IF @hr <> 0 

BEGIN

    PRINT 'error with method Close'

    RETURN

END

  

EXEC @hr = sp_OADestroy @object 

IF @hr <> 0 

BEGIN

    PRINT 'error destroy Excel.Application'

    RETURN

END

  

EXEC @hr = sp_OADestroy @SQLServer 

IF @hr <> 0 

BEGIN

    PRINT 'error destroy SQLDMO.SQLServer'

    RETURN

END

GO

调用方法:
EXEC ExportToExcel @server = '.', 

                   @uname = 'sa', 

                   @QueryText = 'SELECT au_fname FROM pubs..authors', 

                   @filename = 'c:/ImportToExcel.xls'

 

转自:http://www.oschina.net/code/snippet_59519_1800

SQL查询:如何列出数据库中所有表和列及其导出到Excel的方法 在SQL中创建表是一项基础且至关重要的操作,它涉及到定义表结构、指定数据类型以及设置必要的约束来保证数据的完整性和准确性。在上述示例中,语句用于创建一个新的表Employees。每个字段都指定了一个数据类型,例如EmployeeID被定义为整数(INT)并设置为主键约束(),这表示每个员工的ID是唯一的。表创建时常用的约束包括::唯一标识表中的每条记录。:建立表之间的引用完整性。UNIQUE:确保列中的所有值都是唯一的。NOT NULL。 阅读详情

相关推荐

sql查询结果转成Excel工具

本工具使用python实现把SQL查询(包括联表查询等复杂查询)结果转换成Excel文档并保存在指定目录,简单轻巧,增加使用说明,资源文件包含SqlToExcel.exe工具和数据量库连接配置文件config.ini,在配置文件里填写数据库信息,运行转换工具,根据提示就能简单快捷的生成Excel文档。

通过sql语句直接导出excel文件

Mysql 导出excel

m0_60005397的博客 2146

别再到处找模型了!手把手教你将TI、ADI官网的SPICE模型导入LTspice(附路径避坑指南)

本文详细介绍了如何将TI、ADI官网的SPICE模型导入LTspice的全流程,包括模型获取、路径配置、符号生成等关键步骤,并提供了路径避坑指南。通过实战案例和技巧分享,帮助电子工程师高效利用外部元器件模型进行电路仿真,提升设计效率。

weixin_42535703的博客 406

几种从数据库读取数据生成excel文件的比较

 测试环境: 赛扬600+128M+Win2k Prof.(English.)+SQL Server 2000+Excel 2000+VB6(sp4)+ADO2.5测试表记录数:10322,字段数:9 返回表中所有的纪录(select * from table1),每种方法连续测试5次,在VB中使用MsgBox (DateDiff("s", t1, Now()))计时(秒)

992

华为eNSP Pro实战:NE/CE设备SSH远程配置避坑指南

本文针对华为eNSP Pro用户在模拟多台NE路由器或CE交换机时遇到的浏览器卡顿问题,提供了详细的SSH远程配置避坑指南。通过对比浏览器与SSH客户端的资源占用和操作体验,文章详细阐述了为NE和CE设备配置SSH服务的关键步骤、命令差异及常见错误排查方法,旨在帮助用户提升实验效率,实现稳定高效的远程管理。

weixin_29196891的博客 220

Unity简单操作:PostProcessing的使用

Postprocessing是一个unity2018版本的集成后期插件,有了这个插件,之后用unity开发时,后期调整颜色、光晕等会很方便。 目录 新建一个postprocessing profile(配置文件)。​ 参数说明: 新建一个postprocessing profile(配置文件)。 在主相机下加一个组件PostProcess Layer。 注意:需要将相机的Layer层设置与Post Process Layer 下的Volume blending(体积混合)...

weixin_39114763的博客 7368

sql数据导出到excel

一、打开Navicat Premium 12。导出excel

码农的专栏 1397

LinuxMint 22.1(Ubuntu24.04)下通过Wine完美运行同花顺远航版的实战指南

本文详细介绍了在LinuxMint 22.1(Ubuntu24.04)系统下通过Wine完美运行同花顺远航版的实战指南。从基础环境准备到深度优化,包括Wine环境配置、同花顺远航版安装、字体显示调优、任务栏兼容性修复等关键步骤,帮助Linux用户高效使用同花顺远航版进行股票交易和行情分析。

weixin_30919429的博客 570

sql数据库的表转excel表格,有哪些途径

1. 从mysql中导出.cvs文件,再由excel导入 将数据存储在mysql数据库中,使用mysqlworkbench客户端,连上服务器右键表可导出.cvs格式的文本数据。excel打开后可以点击数据,自文本,即可导入刚刚从mysql数据库导出的表的.cvs文件。 这个方式的导出导入原理是,cvs打开即可看到是类似json的文本数据,不同的是,每行数据都用分隔符做了单元格截断。excel...

u012775853的博客 4468

CentOS8安装NVIDIA显卡驱动、CUDA和Anaconda

CentOS8安装NVIDIA显卡驱动和CUDA 参考:CentOS nvidia+cuda+cudnn 安装 安装英伟达显卡驱动 1、检查是否安装了NVIDIA的GPU(硬件层面): lspci | grep -i nvidia 2、安装GCC、kernal组件、dkms等 sudo yum install gcc sudo yum install gcc-c++ sudo yum -y install kernel-devel sudo yum -y install kernel-headers s

智慧的旋风的博客 1万+

PLC集群管理:C#上位机实现10台以上分布式PLC的集中监控与指令下发

本文介绍了一套基于C# WPF开发的PLC集群管理系统,用于解决现代工业自动化产线中分布式PLC监控难题。系统采用三层解耦架构,支持100台以内不同品牌PLC的集中管理,具备批量数据采集、指令下发、实时报警等功能。核心创新点包括:1)基于异步IO的连接池管理;2)统一通信接口设计;3)寄存器合并优化算法;4)三级优先级指令队列。实际应用表明,系统数据采集延迟低于100ms,指令下发成功率99.9%,有效解决了传统单PLC监控模式存在的效率低下问题。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 507

SQL Server Management Studio导出为Excel超详细操作

SQL Server Management Studio 2024导出为Excel

NCU_STU的博客 3537

【原创】汇川H5U PLC控制伺服的方法

6、在线调试-进入伺服调试,可以在本软件上进行调试,可以实现原点回归、正向点动、反向电动、使能(这里使能打开时触摸屏上的使能不能打开,会冲突)、复位、停止(如下图所示)。5、在原点返回设置中一般情况下对原点信号、正限位、负限位、原点返回方向、原点返回方式进行设置,其他设置默认不改(如下图所示)。3、在单位换算设置上只需要修改脉冲数和移动量(根据伺服配套导轨上名牌进行设置),其他设置默认不改(如下图所示)。11、双击后右边出现编辑框 在上半部分定义变量(IN、INOUT、OUT、VAR)(如下图所示)。

Qinmingyue13的博客 6662

使用SQL语句将表导出为EXCEL

使用SQL语句将表导出为EXCEL INSERT INTO OPENROWSET('Microsoft.Jet.OleDb.4.0','Excel 8.0;DATABASE=D:\访问数据.xls','SELECT * FROM [Sheet1$]') SELECT...

didingbo4061的博客 411

Supreme小程序自动化抢购终端——源码架构与执行流程全解析

本系统是一套基于开发的桌面端小程序自动化抢购终端。把只有开发者能跑的脚本,包装成普通用户也能操作的桌面工具。参数自动捕获 → 商品多关键词检索 → sku/尺码/库存映射 → 多商品任务队列 → 定时/立即抢购 → 订单创建 → 支付参数拉取 → 本地服务生成支付链接 → 手机微信扫码付款这套 Supreme 抢购终端,表面上看是一个"下单工具"。但从工程角度审视,它已经具备了一个小型桌面自动化系统GUI 层:CustomTkinter 现代化界面,线程安全业务层:多商品队列、定时调度、任务编排。

猫敷雪 202

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

sql查询结果导出excel表

执行存储过程: exec p_exporttb @sqlstr='sql语句',@path='路径',@fname='文件名',@sheetname='table表名' 创建存储过程p_exporttb: CREATE proc p_exporttb @sqlstr varchar(8000),   --查询语句,如果查询语句中使用了order by ,请加上top 100 per

xxlovemf的专栏 4614

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

PHP导出excel表格(可多表)SQL

function active($xlsName='', $xlsCell=array(), $xlsModel=''){ // 合计人数 // $fileName = "国庆活动"; // $headArr = array('ID', '姓名','电话','所属班级','成功人数','确认签字'); // $grade = M('active_fri...

欢迎交流PHP和前端知识QQ:634487911 524

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

WPF读取Sql的表导出为EXCEL

1.目的和思路 我们想做的是把Sql的数据库的表导出到Excel。。。 那么想一想应该怎么做? 首先我们要连接数据库,读取数据库的表,把每个表的每行和每列依次读取出来,然后写入到文件,文件为Excel格式的。。。 2.步骤和过程 第一,我们要连接数据库。。 数据库添加到工程里面,参见前面的文章。。然后 我们要创建一个类,我们命名为SqlToEx...

dmfs83342的博客 270

WPF的Sql数据库表导出Excel

1.目的和思路 我们想做的是把Sql的数据库的表导出到Excel。。。 那么想一想应该怎么做? 首先我们要连接数据库,读取数据库的表,把每个表的每行和每列依次读取出来,然后写入到文件,文件为Excel格式的。。。 2.步骤和过程 第一,我们要连接数据库。。 数据库添加到工程里面,参见前面的文章。。然后 我们要创建一个类,我们命名为SqlToEx

james362569870的专栏 1566

用SQL Server企业管理器将数据导入/导出Excel表

几乎所有的数据库管理者或者是与数据库打过交道的朋友,几乎都或多或少的了解并使用过数据导入导出的功能以便完成支持诸如数据合并、归档和分析等任务,以及开发应用程序或升级数据库或服务器,而这一切的便利都已经被SQL Server中的数据转换服务(DTS)囊括其中,它提供了一套图形化工具和可编程对象,以帮助管理员和开发人员和需要进行数据维护的人员解决数据移动问题,其中包括将数据从分散的数据源中提取出来,并

godpreserve的专栏 1万+

SQL Server 数据库中数据库表导出为Excel表格

数据库操作人员经常会使用sqlserver中数据导出至excel表中,其过程其实比较简单,只是有部分细节需要注意,有出现个别情况可以进行规避 处理 打开数据库,选择需要导出的数据库名,右键选择"任务"--"导出数据",点击下一步 2.进入“选择数据源”窗口。“数据源”选择sql server native client 10.0,然后选择服务器和数据库,点击下一步 3.进...

sinat_38185177的博客 1万+

把sql server 数据库中数据导出至excel表

打开数据库后选择需要导出数据的数据库,比如本次为db_PMMS,右键选择“任务”–“导出数据”,点击下一步。 进入“选择数据源”窗口。“数据源”选择sql server native client 10.0,然后选择服务器和数据库,点击下一步。 进入“选择目标”窗口,”“目标”选择 Microsoft Excel ,然后选择保存路径和保存版本,点击下一步。 进入“指定表复制”窗口,在“复制一...

Zola的博客 2万+

SQL Server数据库表结构导出到Excel表

要把SQL Server的数据库表的机构直接导出到excel中并且导出后带有表结构中的各项说明。方法步骤如下。 一、执行SQL语句 1、打开MS SQL Server 2、点击“新建查询” 3、执行SQL语句 SELECT 表名 = Case When A.colorder=1 Then D.name Else '' End, 表说明 = Case

仰望星空的代码 7817

oracle从数据库表导出sql语句,如何导出数据库中的表excel表格数据(sql语句将数据库表中的数据导出到excel,怎么操作??)...

java中把SQL数据库中的表导出到excel中.怎么实现前段时间正好做了入和导出的自己看吧/**导出数据为XLS格* @param fos* @param bo*/public void writeExcelBo(FileOutputStream fos, java.util.Vector ve){jxl.write.WritableWorkbook wwb;try{wwb= Workbook....

weixin_42615290的博客 484

SQL Server表中数据导出为多个Excel文件和TXT文件

SQL Server表中数据按条件批量导出为多个Excel文件是本文我们主要要介绍的内容,在一次SQL Server数据库的操作中,需要将某个有数十万行数据的表按类别导出为xls文件,每个类别一个xls。将数据表中的数据导出并保存为xls简单,用SSIS或者查询出来之后另存为都可以。但是,这个表中的分类有数百个,如果一个个用SSIS或者查询另存为的话,工作量巨大。前思后想,想到了用while循环查

YAO的专栏 3981

sql导出导入excel表

/*===================导入/导出Excel的基本方法===================*/从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:/*===================================================================*/--如果接受数据导入的表已经存在inser...

weixin_33806300的博客 85
上一篇: SQL Server中文大写金额转化函数
下一篇: C#操作Excel(导入导出)
learningaginlearnin
博客等级 码龄23年 9粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值