vb.net怎么将datatable导出到excel中去只有通过循环遍历导么

涙无痕 2017-12-28 06:18:46
看了网上好多资料都是遍历datatable中的行列,逐值导,如果遇到数据量很大的情况是不是很慢啊,有没有其他的方法导出呢
...全文
966 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunsatan 2018-01-03
  • 打赏
  • 举报
回复
如果是DataTable那么只有逐行遍历了,如果在数据库中用OleDB方式直接输出也可以,不过不管怎么弄都是挺麻烦的。还要考虑数据类型兼容等问题。
涙无痕 2017-12-31
  • 打赏
  • 举报
回复
引用 10 楼 yangliu0512 的回复:
imex的值0 1 2都试一下,我记得好像这个有点乱,要写数据库的话好像得填0,跟说明上的不同。另外建议你hdr还是yes的好,总得有个字段名好用点。
谢谢大神,确实向excel写入值的时候IMEX的值是0
FainSheeg 2017-12-31
  • 打赏
  • 举报
回复
imex的值0 1 2都试一下,我记得好像这个有点乱,要写数据库的话好像得填0,跟说明上的不同。另外建议你hdr还是yes的好,总得有个字段名好用点。
涙无痕 2017-12-31
  • 打赏
  • 举报
回复
引用 8 楼 yangliu0512 的回复:
[quote=引用 7 楼 涙无痕的回复:][quote=引用 5 楼 yangliu0512 的回复:] 把Excel作数据库,从datatable获取数据,用SQL语句insert。https://www.cnblogs.com/jaxu/archive/2011/07/29/2121022.html
con.Execute("insert into [Sheet1$] values ('" & dr(0).ToString() & "','" & dr(1).ToString() & "','" & dr(2).ToString() & "','" & dr(3).ToString() _ & "','" & dr(4).ToString() & "','" & dr(5).ToString() & "','" & dr(6).ToString() & "','" & dr(7).ToString() _ & "','" & dr(8).ToString() & "','" & dr(9).ToString() & "','" & dr(10).ToString() & "','" & dr(11).ToString() _ & "','" & dr(12).ToString() & "','" & dr(13).ToString() & "','" & dr(14).ToString() & "','" & dr(15).ToString() _ & "','" & dr(16).ToString() & "','" & dr(17).ToString() & "')") 这句提示Operation must use an updateable query,有问题啊[/quote] 最好上完整代码上来,看提示应该你是用错了方法,con是什么?[/quote]
 Dim con As New OleDb.OleDbConnection
        con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\TemPlate\ShuXingbiao1.xls;Extended Properties='Excel 8.0;HDR=no;IMEX=1'"
        con.Open()
        Dim constr As String = "insert into [Sheet1$](F1, F2) values ('111', 'ABC')"
        Dim cmd As New OleDb.OleDbCommand(constr, con)
        'cmd.CommandText = "insert into [Sheet1$](F1, F2) values ('111', 'ABC')"
        cmd.ExecuteNonQuery()
提示的错误还是一样的
FainSheeg 2017-12-30
  • 打赏
  • 举报
回复
引用 7 楼 涙无痕的回复:
[quote=引用 5 楼 yangliu0512 的回复:] 把Excel作数据库,从datatable获取数据,用SQL语句insert。https://www.cnblogs.com/jaxu/archive/2011/07/29/2121022.html
con.Execute("insert into [Sheet1$] values ('" & dr(0).ToString() & "','" & dr(1).ToString() & "','" & dr(2).ToString() & "','" & dr(3).ToString() _ & "','" & dr(4).ToString() & "','" & dr(5).ToString() & "','" & dr(6).ToString() & "','" & dr(7).ToString() _ & "','" & dr(8).ToString() & "','" & dr(9).ToString() & "','" & dr(10).ToString() & "','" & dr(11).ToString() _ & "','" & dr(12).ToString() & "','" & dr(13).ToString() & "','" & dr(14).ToString() & "','" & dr(15).ToString() _ & "','" & dr(16).ToString() & "','" & dr(17).ToString() & "')") 这句提示Operation must use an updateable query,有问题啊[/quote] 最好上完整代码上来,看提示应该你是用错了方法,con是什么?
涙无痕 2017-12-30
  • 打赏
  • 举报
回复
引用 5 楼 yangliu0512 的回复:
把Excel作数据库,从datatable获取数据,用SQL语句insert。https://www.cnblogs.com/jaxu/archive/2011/07/29/2121022.html
con.Execute("insert into [Sheet1$] values ('" & dr(0).ToString() & "','" & dr(1).ToString() & "','" & dr(2).ToString() & "','" & dr(3).ToString() _ & "','" & dr(4).ToString() & "','" & dr(5).ToString() & "','" & dr(6).ToString() & "','" & dr(7).ToString() _ & "','" & dr(8).ToString() & "','" & dr(9).ToString() & "','" & dr(10).ToString() & "','" & dr(11).ToString() _ & "','" & dr(12).ToString() & "','" & dr(13).ToString() & "','" & dr(14).ToString() & "','" & dr(15).ToString() _ & "','" & dr(16).ToString() & "','" & dr(17).ToString() & "')") 这句提示Operation must use an updateable query,有问题啊
涙无痕 2017-12-30
  • 打赏
  • 举报
回复
引用 5 楼 yangliu0512 的回复:
把Excel作数据库,从datatable获取数据,用SQL语句insert。https://www.cnblogs.com/jaxu/archive/2011/07/29/2121022.html
ok了,去试试
FainSheeg 2017-12-29
  • 打赏
  • 举报
回复
把Excel作数据库,从datatable获取数据,用SQL语句insert。https://www.cnblogs.com/jaxu/archive/2011/07/29/2121022.html
涙无痕 2017-12-29
  • 打赏
  • 举报
回复
引用 1 楼 yangliu0512 的回复:
用数据库引擎写入Excel
具体怎么做呢,把datatable作为一个数据库?
shoppo0505 2017-12-29
  • 打赏
  • 举报
回复
引用 楼主 baidu_30536197 的回复:
看了网上好多资料都是遍历datatable中的行列,逐值导,如果遇到数据量很大的情况是不是很慢啊,有没有其他的方法导出呢
在程序中的话,没有办法,即使调用外部类库,其核心也是这样运作的。 1楼的答案也可行
FainSheeg 2017-12-28
  • 打赏
  • 举报
回复
用数据库引擎写入Excel

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧