类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
请提供一下源码啊,谢谢各位大侠啦。
网友回答:
据说可以这样:
方法1
SELECT * FROM DATABASE
然后一个一个记录的写倒EXCEL中,耗时比较长大约4000个记录10分钟,P3/733 320MB WINXP
方法2
据说可以直接保存DATASET到EXCEL 我没有用起网上有资料查一下
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
http://dotnet.aspx.cc/ShowDetail.aspx?id=EC5E84EC-68F9-4CD7-9E11-6F5C92027F0B
http://blogs.sqlxml.org/vinodkumar/archive/2003/11/13/211.aspx
或者你可以在程序里调用DTS package.
用类
Excel.Application
和 Excel.Workbook
记得以前excel有一个很好的方法copyfromrecordset,现在不用recordset了,也没见新的替换功能。
这样导算了:
EXEC master..xp_cmdshell bcp select * from yourtable queryout C:\Inetpub\wwwroot\tmp\XLS.xls -c -S -Usa -P
http://dotnet.aspx.cc/ShowDetail.aspx?id=4EB79F05-B9A4-4E8A-836F-864393F40405