vb.net datagridview 输出excel

fireiceqwe 2009-12-26 05:58:36
vb.net中datagridview查询后的数据导出到excel(SQL2000),第一要求:能够快速导出大量数据;第二能够把像001这样的数据输出后仍是001,而不是1:第三能够自动调整列宽;第四能够输出比较长的数字,而不是到EXCEL中变成科学型计数方法;第五如果数据超出65535,那么能够自动变EXCEL分页就是sheet2,sheet3...
...全文
337 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fireiceqwe 2009-12-29
  • 打赏
  • 举报
回复
二维数组的话,能够具体点不?在VB.net中而且速度怎么样?
fireiceqwe 2009-12-29
  • 打赏
  • 举报
回复
能够具体点吗?我是查询出来的数据.
lovedogdog 2009-12-28
  • 打赏
  • 举报
回复
不要直接把datagridview的值输出给excel,这样慢
把datagridview的数据源里的值输出给excel,可以快一点
appleller 2009-12-27
  • 打赏
  • 举报
回复
...
toudx 2009-12-26
  • 打赏
  • 举报
回复
按楼主所说的要求,除了用循环把datagridview的数据每行输出外,没发现有什么更好的方法,要如果datagridview数据量过大,那就很难做到超出65535部分分多个sheet输出,而可以试下查询时另datagridview行数控制在65535,超过部分分页处理(datagridview分页方法可以查一下相关贴了),这样就能把整个datagridview复到execl的一个sheet中,最后再对sheet进行列格式控制
wuyq11 2009-12-26
  • 打赏
  • 举报
回复
通过二维数组赋值给单元格
Dim myexcel As New Excel.Application()
Dim mybook As Excel.Workbook
Dim mysheet As Excel.Worksheet
mybook = myexcel.Workbooks.Add("ExcelFilename")
mysheet = mybook.Worksheets("sheet1")
mysheet.Activate()
mysheet.Range("A1").Select()
DataGridView.SelectAll()
Dim t As New System.Windows.Forms.DataObject
t = dv.GetClipboardContent()
System.Windows.Forms.Clipboard.SetDataObject(t)
mysheet.PasteSpecial(Format:="文本", Link:=False, DisplayAsIcon:=False)

http://topic.csdn.net/u/20090820/11/4fdeec59-f790-4afd-8ee9-519021ce72c3.html
lovedogdog 2009-12-26
  • 打赏
  • 举报
回复
格式那种直接到excel模板中设置
huming_h 2009-12-26
  • 打赏
  • 举报
回复
快速好像没有什么好的解决方案吧。关注中。。。

16,553

社区成员

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

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