C# 如何快速导出Sql server数据成CSV文件
我做的是WinForm程序,之前用网上的一个Excel类,导出为Excel,但是速度非常慢。后来我发现Sqlserver里面有一个将结果导出为CSV,速度秒出结果,我想知...
我做的是WinForm程序,之前用网上的一个Excel类,导出为Excel,但是速度非常慢。
后来我发现Sql server 里面有一个将结果导出为CSV,速度秒出结果,我想知道如何用C#实现这样的秒出效果,求大神指教。 展开
后来我发现Sql server 里面有一个将结果导出为CSV,速度秒出结果,我想知道如何用C#实现这样的秒出效果,求大神指教。 展开
2个回答
展开全部
我给你指一条名路
你看到到的SQL的CSV是 利用BCP导出的,在客户端不是现实.
我在OSCHINA上有一个帖子你可以借鉴下, 我测试过10W条数据10秒 足够你哈皮了.
http://www.oschina.net/question/106014_13103
Dim table As System.Data.DataTable
Dim ds As New System.Data.DataSet
table = DataGridView2.DataSource '填充表
Dim strTime As DateTime
strTime = DateTime.Now
ds.Tables.Add(table.Copy()) ’别个要求是DS 不是DT。。。。。。。悲剧
Dim res As TimeSpan
Dim FilePath As String
FilePath = Me.Return_CreatFilePath("本机")' 这里是直接指定文件的地址类似C:\ABC\DE\FE\G.xls
ExcelLibrary.DataSetHelper.CreateWorkbook(FilePath, ds)
res = DateTime.Now - strTime
MessageBox.Show("生成完毕.用时:" + res.Seconds.ToString + "秒")
你看到到的SQL的CSV是 利用BCP导出的,在客户端不是现实.
我在OSCHINA上有一个帖子你可以借鉴下, 我测试过10W条数据10秒 足够你哈皮了.
http://www.oschina.net/question/106014_13103
Dim table As System.Data.DataTable
Dim ds As New System.Data.DataSet
table = DataGridView2.DataSource '填充表
Dim strTime As DateTime
strTime = DateTime.Now
ds.Tables.Add(table.Copy()) ’别个要求是DS 不是DT。。。。。。。悲剧
Dim res As TimeSpan
Dim FilePath As String
FilePath = Me.Return_CreatFilePath("本机")' 这里是直接指定文件的地址类似C:\ABC\DE\FE\G.xls
ExcelLibrary.DataSetHelper.CreateWorkbook(FilePath, ds)
res = DateTime.Now - strTime
MessageBox.Show("生成完毕.用时:" + res.Seconds.ToString + "秒")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询