将SqlServer的数据导出到Excel/csv中的各种方法 .

以下都只是介绍操作的原理,具体要求要在应用中具体分析改变。

如果大家有其他好的方法,请相互告知,共同学习。

 


1.       此方法常用在form或者Console Application中,使用时须用要添加Reference,具体做法:

          右键点击项目添加“Add Reference”,在com组件下,选择“Microsoft Excel 14.0 Object Library”,然后在项目中使用     

         下面注释//it looks like excele table start with 1 not 1

          应该为//it looks like excele table start with 1 not 0  

   

private static void exportToExcel(DataTable dt){Excel.Application excel=new Excel.Application();excel.Application.Workbooks.Add(true);excel.Visible = true;//get the columnsfor (int i = 0; i < dt.Columns.Count;i++ ){//here is started with 1//it looks like excele table start with 1 not 1excel.Cells[1, i + 1] = dt.Columns[i].ColumnName.ToString(); }//get the data in rowsfor (int row = 0; row < dt.Rows.Count;row++ ){for (int col = 0; col < dt.Columns.Count; col++){excel.Cells[row+2, col+1] = dt.Rows[row][dt.Columns[col]].ToString();}}//FolderBrowserDialog path = new FolderBrowserDialog();//打开文件对话框//path.ShowDialog();//textBox1.Text = path.SelectedPath;//选择文件夹//save excel//excel.SaveWorkspace();excel.Quit();}

 

 2. 在web应用中,可通过HttpContext.Response.write()来实现

 

protected static void  toExcel(DataTable da){System.Web.HttpContext context = System.Web.HttpContext.Current;context.Response.Clear();foreach( DataColumn colum in da.Columns){context.Response.Write(colum.ColumnName+"\t");}context.Response.Write(System.Environment.NewLine);foreach (DataRow row in da.Rows) {for (int i = 0; i < da.Rows.Count; i++){context.Response.Write(row[i].ToString()+"\t");}context.Response.Write(System.Environment.NewLine);}context.Response.ContentType = "application/vnd.ms-excel";context.Response.AppendHeader("Content-Disposition", "attachment; filename=plan.xls");context.Response.End();}

 

 3.bcp命令是SQL Server提供的一个快捷的数据导入导出工具。使用它不需要启动任何图形管理工具就能以高效的方式导入导出数据。bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。bcp可以将数据库的表或视图直接导出,也能通过SELECT FROM语句对表或视图进行过滤后导出。在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中.

use swangtest
GoSP_CONFIGURE'show advanced options',1
RECONFIGURE
Go
SP_CONFIGURE 'xp_cmdshell',1
RECONFIGURE
Go
EXEC master..xp_cmdshell 'BCP  swangTest..userinfo OUT  D:\entryId.csv -c -t -T '

 

 

  

转载于:https://www.cnblogs.com/songsz1/archive/2012/09/05/2671346.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java单例模式的实现方法_JAVA单例模式的几种实现方法

1 饿汉式单例类.在类初始化时&#xff0c;已经自行实例化class EagerSingleton {private static final EagerSingleton m_instance new EagerSingleton();/** * 私有的默认构造子 */private EagerSingleton() {}/*** * 静态工厂方法*/public static EagerSingleton getInstanc…

python链表排序_链表排序+末尾各种排序

#工具人排序def nums_sort(data):if not data:return []min_data min(data)max_data max(data)nums [0]*(max_data-min_data1)for value in data:nums[value-min_data]1cur min_datafor index in range (len(data)):while cur< max_data and nums[cur-min_data]<0:cu…

sl animation sample

http://samples.msdn.microsoft.com/Silverlight/SampleBrowser/index.htm#/?srefdoubleanimation 转载于:https://www.cnblogs.com/songtzu/archive/2012/09/05/2672445.html

python中cumsum_在python里“np.cumsum”这个命令是干什么的?怎么使用?

展开全部累计2113求和的命令。5261具体例子如下所示4102&#xff1a;>>> a np.array([[1,2,3], [4,5,6]])>>> aarray([[1, 2, 3],[4, 5, 6]])>>> np.cumsum(a)array([ 1, 3, 6, 10, 15, 21])>>> np.cumsum(a, dtypefloat) # specif…

java rgb转yuv_【转】总结各种RGB转YUV的转换公式

最近在学习视频的颜色空间转换&#xff0c;由于摄像机拍出来的视频很多都是用YUV格式保存的&#xff0c;而颜色空间的转换必须在RGB颜色模型上才能完成&#xff0c;所以第一步自然就是将YUV颜色模型转成RGB颜色模型。在网上查到了许多的YUV与RGB互转的公式&#xff0c;但是总觉…

EDM数据库营销是什么?-EDM数据库营销的概念

可能有些朋友对EDM数据库营销的概念不是很了解。本文就为大家详细讲解一下EDM数据库营销是什么。 EDM数据库营销依然是大部分营销公司的主打产品。但是伴随着B2C的EDM数据库营销的市场不断扩大&#xff0c;一些EDM数据库营销公司已经感觉到其中的商机&#xff0c;纷纷建立自己的…

python两列数据生成邻接矩阵_用python实现邻接矩阵转换为邻接表,python语言实现...

graph {A: [B, C],B: [C, D],C: [D],D: [C,G,H],E: [F],F: [C]}#从图中找出任意一条从起始顶点到终止顶点的路径def find_path(graph, start, end, path[]):if start end:print "path", pathreturn Trueif not graph.get(start):path.pop()return Falsefor v in gr…

驱动程序开发的模具

自从有了操作系统后&#xff0c;就诞生了一种职位叫&#xff1a;驱动程序开发。本文描叙驱动开发所需要的学习方式。 开发驱动程序和编写应用程序之间的区别从招聘岗位可以看出&#xff1a;程序设计师和驱动开发师&#xff0c;它们是设计和开发的区别。设计重点在需求阶段&…

java圆形进度条_可拖拽圆形进度条组件(支持移动端)

好久之前写过一个可拖拽圆形进度条的dome&#xff0c;中间有网友反馈过一些问题&#xff0c;最近比较闲有时间修改了一些问题也做了一些优化&#xff0c;并封装成组件&#xff0c;基于canvas实现&#xff0c;只需传入放置组件dom容器&#xff0c;任何框架均可直接使用&#xff…

java注解 interface_java @FunctionalInterface注解详解

下面要给大家介绍的就javaFunctionalInterface注解&#xff0c;对于FunctionalInterface注解不大了解的人&#xff0c;可以通过下面的文章来了解一下哦。在学习Lambda表达式的时候&#xff0c;假如&#xff0c;接口中只有一个抽象方法(可以包含多个默认方法或多个 static方法)&…

如何用python新建文件夹_用Python编写一个每天都在系统下新建一个文件夹的脚本...

这个程序的功能非常的简单&#xff0c;就是每天在系统中新建一个文件夹。文件夹即当前的时间。此代码是在同事那边看到的&#xff0c;为了锻炼下自己薄弱的Python能力&#xff0c;所以花时间重新写了一个。具体代码如下&#xff1a;import time,osbasePath F:\\work\\thisYear…

u盘无法复制文件进去_只需一招,禁止Windows复制文件到U盘,再也不用担心你的资料被拷走!...

现在&#xff0c;我们日常的生活和工作都是电脑全程陪伴&#xff0c;可以说是离不开电脑了。也正是因为电脑的功能那么多&#xff0c;而且在保存资料方面&#xff0c;相比纸质资料来讲&#xff0c;确实有十分大的优势&#xff01;因此&#xff0c;有许多人都会将一些重要的个人…

ZOJ 3631 Watashi's BG

这道题思路不难&#xff0c;用01背包的思想来解这道题&#xff0c;一个M的背包装N个物品&#xff0c;这N个物品的权值和 体积都是vi&#xff0c;很简单的一个模型&#xff0c;直接用背包的方法解的话&#xff0c;不止会超内存&#xff0c;而且会超时&#xff0c;这 样WA了一遍之…

java word 饼图_[Java教程]echarts标准饼图解读(一)——基本配置demo

[Java教程]echarts标准饼图解读(一)——基本配置demo0 2016-11-21 17:00:18echarts标准饼图解读共分为四部分&#xff0c;一、基本配置demo二、标题(title)配置三、提示框(tooltip)配置四、图例(legend)配置五、系列列表(series )配置下面是一个基本配置demo&#xff0c;复制下…