资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

把数据库的内容导到EXCEL里,程序实现啊,急!!!

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

请提供一下源码啊,谢谢各位大侠啦。

网友回答:

发表者:water_worm

据说可以这样:  
  方法1  
  SELECT   *   FROM   DATABASE  
  然后一个一个记录的写倒EXCEL中,耗时比较长大约4000个记录10分钟,P3/733   320MB   WINXP  
  方法2  
  据说可以直接保存DATASET到EXCEL   我没有用起网上有资料查一下

发表者:water_worm

Try  
                          Dim   dt   As   DataTable  
   
                          dt   =   Me.DataGrid1.DataSource()  
   
                          Dim   i,   j   As   Integer  
                          Dim   myexcel   As   New   Excel.Application  
   
                          Dim   mybook   As   Excel.Workbook  
   
                          Dim   proc   As   New   state  
                          proc.ProgressBar1.Maximum   =   dt.Rows.Count()   +   2  
                          proc.Label1.Text   =   dt.Rows.Count().ToString()  
                          proc.procname.Text   =   "正在保存为EXCEL!"  
                          proc.Show()  
                          Dim   mysheet   As   Excel.Worksheet  
                          mybook   =   myexcel.Workbooks.Add           添加一个新的BOOK  
                          mysheet   =   mybook.Worksheets("sheet1")   添加一个新的SHEET  
                          mysheet.Range("a1",   Chr(Asc("a")   +   dt.Columns.Count())   +   "1").Merge()  
   
                          mysheet.Cells(1,   1)   =   Me.DataGrid1.CaptionText()  
                          For   j   =   1   To   dt.Columns.Count()  
                                  mysheet.Cells(2,   j)   =   dt.Columns(j   -   1).Caption()  
                          Next  
                         
                          Me.RichTextBox1.AppendText(dt.Rows.Count().ToString())  
                          For   i   =   dt.Rows.Count()   +   2   To   3   Step   -1  
                                  Me.RichTextBox1.Clear()  
                                  For   j   =   1   To   dt.Columns.Count()  
                                          If   dt.Rows(i   -   3)(j   -   1).ToString()   =   ""   Then  
                                                      Me.RichTextBox1.AppendText("this   is   null")  
                                          Else  
                                                      Me.RichTextBox1.AppendText(dt.Rows(i   -   3)(j   -   1).ToString())  
                                                  mysheet.Cells(i,   j)   =   dt.Rows(i   -   3)(j   -   1).ToString()  
                                          End   If  
                                  Next   j  
                                    Me.RichTextBox1.AppendText("i="   +   i.ToString()   +   "       posnum="   +   dt.Rows(0)(2).ToString()   +   "       ")  
                                 
   
   
                                  proc.Label3.Text   =   i.ToString()  
                                  proc.ProgressBar1.Value   =   i  
                                  proc.Label3.Update()  
                                  proc.Label1.Update()  
                                  proc.Label2.Update()  
                                  proc.procname.Update()  
                          Next   i  
                          proc.Close()  
                          myexcel.Visible   =   True  
   
   
   
                          保存文件  
                          mybook.SaveAs(Me.system_path   +   tabname(0)   +   Me.DataGrid1.CaptionText())   保存文件  
                          mybook.Close()  
                          myexcel.Quit()  
                  Catch   ex   As   Exception  
   
                          Me.RichTextBox1.AppendText(ex.StackTrace())  
                          Me.RichTextBox1.AppendText(ex.ToString())  
                  End   Try

发表者:HunterDong

http://dotnet.aspx.cc/ShowDetail.aspx?id=EC5E84EC-68F9-4CD7-9E11-6F5C92027F0B

发表者:cancersyf

http://blogs.sqlxml.org/vinodkumar/archive/2003/11/13/211.aspx

发表者:cancersyf

或者你可以在程序里调用DTS   package.

发表者:mazekui

用类  
    Excel.Application  
  和   Excel.Workbook  
 

发表者:reddg

记得以前excel有一个很好的方法copyfromrecordset,现在不用recordset了,也没见新的替换功能。

发表者:cm8983

这样导算了:  
  EXEC   master..xp_cmdshell   bcp   select   *   from   yourtable   queryout   C:\Inetpub\wwwroot\tmp\XLS.xls   -c   -S   -Usa   -P    
 

发表者:wkh8011

http://dotnet.aspx.cc/ShowDetail.aspx?id=4EB79F05-B9A4-4E8A-836F-864393F40405


 

 
热门推荐笔记本: NEC笔记本
相关文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved