以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- DataTable如何导到EXCEL? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=51316) |
||||
-- 作者:nothing -- 发布时间:2014/5/24 8:38:00 -- DataTable如何导到EXCEL? Dim cmd As new SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "Select * from 表A" dt = cmd.ExecuteReader Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog dlg.Filter= "Excel文件|*.xls" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Tables(dt.name).SaveExcel(dlg.FileName, "表A") \'保存文件 End If 请问如何导出dt到EXCEL
|
||||
-- 作者:Bin -- 发布时间:2014/5/24 8:45:00 -- 用这个办法吧http://www.foxtable.com/help/topics/1148.htm |
||||
-- 作者:nothing -- 发布时间:2014/5/24 8:57:00 -- 例子是用Table的,我改成DataTable不对 |
||||
-- 作者:nothing -- 发布时间:2014/5/24 8:59:00 -- dt = cmd.ExecuteReader Dim Book As New XLS.Book \'定义一个Excel工作簿 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim Style As Xls.Style = Book.NewStyle \'新建一个样式 Style.BackColor = Color.Red \'样式的背景颜色设为红色 For c As Integer = 0 To dt.dataCols.Count -1 \'添加列标题 Sheet(0, c).Value = dt.dataCols(c).Name Next For r As Integer = 0 To dt.dataRows.Count - 1 \'填入数据 For c As Integer = 0 To dt.dataCols.Count -1 Sheet(r +1, c).Value = dt.DataRows(r)(c) Next Next |
||||
-- 作者:Bin -- 发布时间:2014/5/24 9:05:00 -- 用2楼的方法即可. 搞不定请上例子. |
||||
-- 作者:nothing -- 发布时间:2014/5/24 10:28:00 -- 请帮忙看看 |
||||
-- 作者:nothing -- 发布时间:2014/5/24 10:28:00 --
|
||||
-- 作者:Bin -- 发布时间:2014/5/24 10:40:00 -- Dim cmd As new SQLCommand Dim dt As DataTable cmd.CommandText = "Select * from {表A}" dt = cmd.ExecuteReader \'MessageBox.Show(dt.DataRows.Count) \'Return Dim Book As New XLS.Book \'定义一个Excel工作簿 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim Style As Xls.Style = Book.NewStyle \'新建一个样式 Style.BackColor = Color.Red \'样式的背景颜色设为红色 For c As Integer = 0 To dt.dataCols.Count -1 \'添加列标题 Sheet(0, c).Value = dt.dataCols(c).Name Next For r As Integer = 0 To dt.dataRows.Count - 1 \'填入数据 For c As Integer = 0 To dt.dataCols.Count -1 Sheet(r +1, c).Value = dt.DataRows(r)(dt.dataCols(c).name) Next \'If dt.rows(r)("折扣") >= 0.15 Then \'如果折扣大于等于0.15 \'Sheet(r + 1,dt.Cols("折扣").Index).Style = Style \'设置折扣单元格的样式 \'End If Next \'打开工作簿 Book.Save("c:\\dt.xls") Dim Proc As New Process Proc.File = "c:\\dt.xls" Proc.Start()
|
||||
-- 作者:nothing -- 发布时间:2014/5/24 12:04:00 -- 谢谢 |