数据导出
将表中记录导出到excel和txt如何操作,数据库用的是Access2003不是sqlserver,急用,谢谢!!! 问题点数:40、回复次数:11Top
1 楼Dr_Jones(kickyourass)回复于 2005-05-29 20:57:48 得分 5
可惜我做的是导入数据库而且数据库时sqlserver
如果你要的话我贴给你看Top
2 楼wubala()回复于 2005-05-29 22:15:56 得分 0
你搜一搜以前的贴,有这方面的,我见过Top
3 楼StarsRiver(学无止境)回复于 2005-05-29 22:25:28 得分 0
搜过了,大都是sqlserver的,多是调用系统存储过程,有Access的吗,请帮忙!!!Top
4 楼tl_pear(飘叶寻梦)回复于 2005-05-30 08:13:04 得分 10
不管是ACCESS还是SQLSERVER你只要读出来到了一TABLE里,
那么从一个TABLE里到EXCEL或TXT文件里的过程就是一样的。Top
5 楼StarsRiver(学无止境)回复于 2005-05-30 08:31:33 得分 0
tl_pear(飘叶寻梦)
我想从表中直接读出写入EXCEL或TXT文件,语句该怎么写?Top
6 楼syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*)回复于 2005-05-30 08:46:30 得分 10
导出的本质就是“读出来”,“建文件”,“写进去”。
你把他想成3件事,就容易的多,为什么非要想成“导出”这1件呢???
对于后面2件,SqlServer和Access已经没有关系了,因为已经和数据库没有关系。
对于第1件,我想楼主肯定很清楚怎么做。
楼主明白我说的意思么??
受人以鱼,不若授人以渔。Top
7 楼qiri07(俺家金毛de地位比俺高)回复于 2005-05-30 08:59:25 得分 0
赞同楼上的,实质就是 从数据库中读取数据,建立文件,把读出数据写入文件Top
8 楼Snrmnm_sx(Ψ 踏雪无痕 Ω)回复于 2005-05-30 09:22:02 得分 15
这是一个从数据库读数据到Excel中的一个印例子
Try
Dim Excel123a As New Excel.Application()
Dim i, j, K As Integer
Dim bt, dw0 As String
Dim sucy
Dim dvrow As DataRowView
K = 0
If Me.Label7.Text = "当前操作的是月计划" Then
sucy = tb
bt = "月份计划"
dw0 = "填表单位:" + Trim(Dwmc_Pub)
Else
sucy = Tb1
bt = "日计划"
dw0 = "填表单位:" + Trim(Dwmc_Pub)
End If
If sucy.rows.count <> 0 Then
Else
Exit Sub
End If
Dim workTable As DataTable = New DataTable("hlyk")
Dim workCol As DataColumn
For j = 1 To 9
workTable.Columns.Add("hl" + Trim(Str(j)), Type.GetType("System.String"))
Next
For i = 0 To Tb1.Rows.Count - 1
Dim Row11 As DataRow
Row11 = workTable.NewRow
Row11("hl" + Trim(Str(1))) = sucy.Rows(i)("BZ")
Row11("hl" + Trim(Str(2))) = sucy.Rows(i)("DWMC")
Row11("hl" + Trim(Str(3))) = sucy.Rows(i)("ZMC")
Row11("hl" + Trim(Str(4))) = Format(sucy.Rows(i)("JHSJ1"), "HH:mm") + "-" + Format(sucy.Rows(i)("JHSJ2"), "HH:mm")
Row11("hl" + Trim(Str(5))) = sucy.Rows(i)("SGNR")
Row11("hl" + Trim(Str(6))) = sucy.Rows(i)("TYSB")
Row11("hl" + Trim(Str(7))) = sucy.Rows(i)("SGJB")
Row11("hl" + Trim(Str(8))) = sucy.Rows(i)("YDGB")
Row11("hl" + Trim(Str(9))) = sucy.Rows(i)("PHDW")
workTable.Rows.Add(Row11)
Next
If Tb2.Rows.Count <> 0 Then
For i = 0 To Tb2.Rows.Count - 1
Dim Row11 As DataRow
Row11 = workTable.NewRow
Row11("hl" + Trim(Str(1))) = Tb2.Rows(i)("BZ")
Row11("hl" + Trim(Str(2))) = Tb2.Rows(i)("DWMC")
Row11("hl" + Trim(Str(3))) = Tb2.Rows(i)("ZMC")
Row11("hl" + Trim(Str(4))) = Format(Tb2.Rows(i)("JHSJ1"), "HH:mm") + "-" + Format(Tb2.Rows(i)("JHSJ2"), "HH:mm") + "(" + Tb2.Rows(i)("JH") + ")"
Row11("hl" + Trim(Str(5))) = Tb2.Rows(i)("SGNR")
Row11("hl" + Trim(Str(6))) = Tb2.Rows(i)("TYSB")
Row11("hl" + Trim(Str(7))) = ""
Row11("hl" + Trim(Str(8))) = Tb2.Rows(i)("FZR")
Row11("hl" + Trim(Str(9))) = Tb2.Rows(i)("BZ1")
workTable.Rows.Add(Row11)
Next
End If
workTable.DefaultView.Sort = "hl1"
i = 0
Excel123a.Workbooks.Open("C:\EXCEL123a.XLS")
Excel123a.Worksheets("Sheet1").Range("A1").value = Format(RQRQ.Value.AddDays(1), "d日") + "计划"
For Each dvrow In workTable.DefaultView
Excel123a.Worksheets("Sheet1").Range("A" + Trim(Str((i + 5)))).Value = dvrow("hl1")
Excel123a.Worksheets("Sheet1").Range("B" + Trim(Str((i + 5)))).Value = dvrow("hl2")
Excel123a.Worksheets("Sheet1").Range("C" + Trim(Str((i + 5)))).Value = dvrow("hl3")
Excel123a.Worksheets("Sheet1").Range("D" + Trim(Str((i + 5)))).Value = dvrow("hl4")
Excel123a.Worksheets("Sheet1").Range("E" + Trim(Str((i + 5)))).Value = dvrow("hl5")
Excel123a.Worksheets("Sheet1").Range("F" + Trim(Str((i + 5)))).Value = dvrow("hl6")
Excel123a.Worksheets("Sheet1").Range("G" + Trim(Str((i + 5)))).Value = dvrow("hl7")
Excel123a.Worksheets("Sheet1").Range("H" + Trim(Str((i + 5)))).Value = dvrow("hl8")
Excel123a.Worksheets("Sheet1").Range("I" + Trim(Str((i + 5)))).Value = dvrow("hl9")
i = i + 1
Next
Excel123a.Visible = True
Me.Cursor = System.Windows.Forms.Cursors.Default
Catch ex As Exception
Me.Cursor = System.Windows.Forms.Cursors.Default
MsgBox(ex.Message, MsgBoxStyle.Information, "提示")
End Try
End Sub
加了一个workTable是为了实现数据的重新排序!
Top
9 楼Snrmnm_sx(Ψ 踏雪无痕 Ω)回复于 2005-05-30 09:35:40 得分 0
楼上这个例子对Access和sqlserver都起作用!Top
10 楼busytaoym()回复于 2005-05-30 09:48:53 得分 0
Dim ws As New AuthorsWebClient.localhost.Service1
ws.Credentials = System.Net.CredentialCache.DefaultCredentials
ds2.Merge(ws.GetAuthors())
If Not Page.IsPostBack Then
Me.DataGrid1.DataBind()
'Me.DataGrid2.DataBind()
End If
'Response.Charset = "gb2312"
Response.AddHeader("Content-Disposition", "attachment; filename=b")
Response.Charset = "Unicode"
Response.ContentType = "application/vnd.ms-excel"
' 从Content-Type header中去除charset设置
Response.Charset = ""
' 关闭 ViewState
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
' 获取control的HTML
DataGrid1.RenderControl(hw)
' 把HTML写回浏览器
'Me.RenderChildren(hw)
Response.Write(tw.ToString())
Response.End()Top
11 楼busytaoym()回复于 2005-05-30 09:52:05 得分 0
上贴 导出excel时,总是出现乱码, 请高手帮我诊断啊!!! 我用的 Win Serv 2003,V.net 2003,Excel 2003.Top




