vb.net保存对话框 vb弹出保存对话框( 二 )


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)

推荐阅读