vb.net如何导出到excel

billlyh 2010-01-25 10:08:23
有时要将数据进行排版,打印,所以要将数据从数据库导出到excel,
如何实现,网上只找到vb 导出的例子,没有vb.net的,
哪位帮帮忙
...全文
625 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
phoenixx123 2010-02-24
  • 打赏
  • 举报
回复
引用 17 楼 phoenixx123 的回复:
引用 15 楼 billlyh 的回复:13楼的方法可导,但是导出的中文都是乱码的
将Dim ws As New System.IO.StreamWriter(fso.OpenFile)改成
Dim ws As New System.IO.StreamWriter(fso.OpenFile, Encoding.GetEncoding(932))
就可以了

不好意思应该是Encoding.Default、因为我的系统是日文的``所以搞错了``
phoenixx123 2010-02-24
  • 打赏
  • 举报
回复
引用 15 楼 billlyh 的回复:
13楼的方法可导,但是导出的中文都是乱码的

将Dim ws As New System.IO.StreamWriter(fso.OpenFile)改成
Dim ws As New System.IO.StreamWriter(fso.OpenFile, Encoding.GetEncoding(932))
就可以了
billlyh 2010-02-02
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 aliuying 的回复:]
我有能够完全运行的代码,需要与我联系!
[/Quote]
我的邮箱为
billlyh@163.com
billlyh 2010-02-01
  • 打赏
  • 举报
回复
13楼的方法可导,但是导出的中文都是乱码的
hzybc 2010-01-26
  • 打赏
  • 举报
回复
数据如果在DataSet 中,

Ds.Tables("Cx").WriteXml("C:\Cx.xml", False)
LYDF4151 2010-01-26
  • 打赏
  • 举报
回复 1
Dim fso As New SaveFileDialog

fso.Filter = "*.xls|*.xls"
fso.OverwritePrompt = True
fso.RestoreDirectory = True
fso.InitialDirectory = "d:\"
fso.ShowDialog()

Dim ws As New System.IO.StreamWriter(fso.OpenFile)

Dim str As String = ""

For i As Int16 = 0 To Me.DataGridView1.Columns.Count - 1
str += DataGridView1.Columns(i).HeaderCell.Value.ToString & vbTab
Next

str += vbCrLf
For Each row As DataGridViewRow In Me.DataGridView1.Rows

For i As Int16 = 0 To Me.DataGridView1.Columns.Count - 1
If Not row.IsNewRow Then
str += row.Cells.Item(i).Value.ToString & vbTab
End If

Next
str += vbCrLf
Next

ws.Write(str)
ws.Close()


End Sub
flyerwing 2010-01-26
  • 打赏
  • 举报
回复
标题1,标题2,标题3
值1, 值2, 值3,
值1, 值2, 值3,
aa.csv
这样估计也行吧
outou 2010-01-26
  • 打赏
  • 举报
回复
wood87654321 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 billlyh 的回复:]
2楼,
怎么引用office excel对象?
添加引用时,在
.NET或COM选项卡中都没找到excel
[/Quote]

你的机器上该不会没装office吧?
添加引用->COM->Microsoft Excel 9.0 Object Library (我用的是Office2000,所以是9.0)
古今多少事 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 billlyh 的回复:]
2楼,
怎么引用office excel对象?
添加引用时,在
.NET或COM选项卡中都没找到excel
[/Quote]

COM:
Microsoft Excel 11.0 Object Library
添加:
Imports Microsoft.Office.Interop
水猿兵团五哥 2010-01-25
  • 打赏
  • 举报
回复
Dim strcells As String
Dim xlsApp As Excel.Application
Dim xlsBook As Excel.Workbook
Dim xlsSheet As Excel.Worksheet

xlsApp = CreateObject("Excel.Application")
xlsBook = xlsApp.Workbooks.Add

For IA = 0 To IDX
xlsBook.Worksheets.Add()
Next

xlsApp.Application.Visible = True
xlsSheet = xlsBook.Worksheets(1)
With xlsSheet
.Name = "TOTAL"
Clipboard.Clear() '#---------------------------クリップボードをクリア
Clipboard.SetDataObject(sss) '#-------クリップボードにデータをコピー
.Activate() '#---------------------------------貼り付け先のシートをActivateに
.Columns("A").numberformatlocal = "@" '#--------書式設定を文字列に
.Range("A1").Select() '#------------------------貼り付け先エリアの一番左上のセルをセレクト
.Paste() '#-------------------------------------ペースト
Clipboard.SetDataObject(New DataObject) '#------すぐさまクリップボードのデータをクリアしたいなら
.Cells.Select() '#------------------------------すべてのセルを選択
.Cells.EntireColumn.AutoFit() '#----------------オートフィット
.Range("A1").Select() '#------------------------A1を選択
End With
qq_20781821 2021-07-14
  • 举报
回复
@水猿兵团五哥 这个怎么搞?
billlyh 2010-01-25
  • 打赏
  • 举报
回复
2楼,
怎么引用office excel对象?
添加引用时,在
.NET或COM选项卡中都没找到excel
wood87654321 2010-01-25
  • 打赏
  • 举报
回复
先引用office excel对象

Dim myExcel As Excel.Application
myExcel.Workbooks.Add()
myExcel.Worksheets("sheet1").Activate()

再往后,可通过myExcel.ActiveSheet的各属性设置版面样式
写内容则通过myExcel.ActiveSheet.Cells(格行坐标,格列坐标 )="abcdefg"

最后保存
myExcel.ActiveWorkbook.SaveAs(你的excel文件路径)


ILOVE_ASPNET 2010-01-25
  • 打赏
  • 举报
回复
up
aliuying 2010-01-25
  • 打赏
  • 举报
回复
我有能够完全运行的代码,需要与我联系!
Alien 2010-01-25
  • 打赏
  • 举报
回复
把结果装到DataTable中,然后创建DataView对象并且绑定数据源为DataTable,
最好用DataView的render方法可以直接将其导出为excel文档,而且在程序中可以设置导出的样式。
具体的代码我留在了公司,有时间了给你拷贝一份你看看吧
zjljk2000 2010-01-25
  • 打赏
  • 举报
回复
mark

16,552

社区成员

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

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