Excelworkbook.save
Excelworkbook.close
Excelapp=nothing
5其它:
需要注意~上面的代码需要一些容错机制,比如:
If Not excelworkbook Is Nothing Then 这样的话来达到程序的正确运行
需要判断现在excel又没有打开 。如果有excel进程正在运行 。vb.net保存对话框你的代码很可能会影响到打开的excel,像Excelworkbook.close这样的语句虽然前面已经很好的唯一指定了工作簿,但不能很武断的进行鲁莽的操作 , 我们需要判断现在excel的运行情况 。
另外,VB.NET 读取Excel 2007的xlsx文件和读取老的.xls文件是一样的,都是用Oledb读取,仅仅连接字符串不同而已 。读取xlsx 用的是Microsoft.Ace.OleDb.12.0;具体操作方法如下:
Public Shared Function GetExcelToDataTableBySheet(ByValFileFullPath As String, ByVal SheetName As String) As DataTable
'string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + FileFullPath + ";Extended Properties='Excel 8.0; HDR=NO; IMEX=1'"; //此连接只能操作Excel2007之前(.xls)文件
Dim strConn As String = ("Provider=Microsoft.Ace.OleDb.12.0;""data source=") + FileFullPath";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'"
'此连接可以操作.xls与.xlsx文件
Dim conn As New OleDbConnection(strConn)
conn.Open()
Dim ds As New DataSet()
Dim odda As New OleDbDataAdapter(String.Format("SELECT * FROM [{0}]", SheetName), conn)
'("select * from [Sheet1$]", conn);
odda.Fill(ds, SheetName)
conn.Close()
Return ds.Tables(0)
End Function
读取Excel文件时,可能一个文件中会有多个Sheet , 因此获取Sheet的名称是非常有用的 。根据Excel物理路径获取Excel文件中所有表名的具体操作方法如下:
Public Shared Function GetExcelSheetNames(ByVal excelFile As String) As [String]()
Dim objConn As OleDbConnection = Nothing
Dim dt As System.Data.DataTable = Nothing
Try
'string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + excelFile + ";Extended Properties='Excel 8.0; HDR=NO; IMEX=1'"; //此连接只能操作Excel2007之前(.xls)文件
Dim strConn As String = ("Provider=Microsoft.Ace.OleDb.12.0;""data source=") + excelFile";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'"
'此连接可以操作.xls与.xlsx文件
objConn = New OleDbConnection(strConn)
objConn.Open()
dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
If dt Is Nothing Then
Return Nothing
End If
Dim excelSheets As [String]() = New [String](dt.Rows.Count - 1) {}
Dim i As Integer = 0
For Each row As DataRow In dt.Rows
excelSheets(i) = row("TABLE_NAME").ToString()
i += 1
Next
Return excelSheets
Catch
Return Nothing
Finally
If objConn IsNot Nothing Then
objConn.Close()
objConn.Dispose()
End If
If dt IsNot Nothing Then
dt.Dispose()
End If
End Try
End Function
VB.net实例1 生成txt文件 。
DimSaveFileDialog1AsNewSaveFileDialog() '创建一个保存对话框
SaveFileDialog1.Filter ="txt files (*.txt)|*.txt" '设置扩展名
IfSaveFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OKThen '如果确定保存
My.Computer.FileSystem.WriteAllText(SaveFileDialog1.Filename, Textbox1.Text,False) '保存文本,False表示不追加文本vb.net保存对话框 , 直接覆盖其内容
EndIf
原文链接vb.net保存对话框:
50分 vb.net 如何保存文本框内容到txt文件窗体上建立BUTTON1和TEXTBOX1
代码如下
100%正确,刚刚写的,调试好了
Imports System.io
Public Class form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fs As New FileStream("d:\文本.txt", FileMode.Create, FileAccess.Write)
推荐阅读
- 休闲游戏女生餐厅推荐,适合女生休闲游戏
- z490怎么设置启动硬盘,z490ebios设置
- 小程序直播怎么发起投票,小程序直播功能开通
- 毕业设计完成小程序,毕业设计小程序开发
- php数组添加数据 php数组相加组合数据
- 电脑一体机什么牌子,电脑一体机什么牌子能打猴戏
- oraclerep文件怎么打开,oracle open files
- 抖音如何推广直播评论,抖音直播间评论引流
- sap顾问科莱特,北京科莱特sap财务是什么