VB读取txt文件的方法

'第一种方法:
Public Function ByteOpenFile(FilePath As String) As String
Dim tmp() As Byte
Open FilePath For Binary As #1
ReDim tmp(LOF(1) - 1)
Get #1, , tmp
ByteOpenFile = StrConv(tmp, vbUnicode)
Close #1
End Function


'第二种方法:
Private Sub Command4_Click() '读取整个TXT文件
Dim fso As Object, ts As Object
Text1 = “”
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set ts = fso.opentextfile(App.Path & “\test.txt”, 1)
Do While ts.AtEndofStream <> True
Text1 = Text1 & ts.ReadLine & vbCrLf
Loop
ts.Close
Set ts = Nothing
Set fso = Nothing
End Sub


'第三种方法:
Private Sub Command1_Click()
Dim txt As String
Close #1
Text1.Text = “”
Open “D:\gfhgfh.bmp” For Input As #1
Do While Not EOF(1)
Input #1, txt
Text1.Text = Text1.Text & txt & Chr(13) & Chr(10)
Loop
End Sub


'第四种方法:
快速读写
Option Explicit
Private Sub Command1_Click()'读
Text1.Text = CreateObject(“scripting.filesystemobject”).opentextfile(“c:\1.txt”).readall '这句用来读取制定TXT,会返回内容
End Sub

Private Sub Command2_Click()'存
Call CreateObject(“Scripting.FileSystemObject”).createtextfile(“c:\1.txt”).writeline(Text1.Text)
End Sub


'第五种方法:
Private Sub Command2_Click()
Open “C:\Documents and Settings\Administrator\桌面\5笔\TANYITXT32\2512.txt” For Binary As #1
Text1 = StrConv(InputB$(LOF(1), 1), vbUnicode)
Close #1
End Sub


'第六种方法:
读取到数组变量里

Dim Txt() As String
Private Sub Form_Load()
Dim arr, i As Long
arr = Split(CreateObject(“scripting.filesystemobject”).opentextfile(“c:\123.txt”).readall, vbNewLine)
For i = 0 To UBound(arr)
ReDim Preserve Txt(i)
Txt(i) = arr(i)
List1.AddItem Txt(i)
Next
End Sub

获得总行
Private Declare Function SendMessage Lib “user32” Alias “SendMessageA” (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const EM_GETLINECOUNT = &HBA
Private Sub Command1_Click()
s = SendMessage(Text1.hwnd, EM_GETLINECOUNT, 0, 0)
Text2 = s
End Sub


'第七种方法:其他

清空一个TXT文件内容
Private Sub Command1_Click()
Shell “cmd /c echo off>e:\xixihaha1.txt”, 0
End Sub


指定读取某行的数据:
1、自己定义一个函数:
Private Function GetTxt(TxtPath As String)
Dim i%
i = FreeFile
Open TxtPath For Input As #i
GetTxt = StrConv(InputB(LOF(i), i), vbUnicode)
Close #i
End Function

2、调用:
Private Sub Command1_Click()
MsgBox Split(GetTxt(App.Path & “\test.txt”), vbCrLf)(1)
End Sub

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 以下是VB.NET代码示例,演示如何读取文本文件并将其写入Excel工作表中: ``` Imports Microsoft.Office.Interop.Excel Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click '打开文本文件 Dim fileReader As String = My.Computer.FileSystem.ReadAllText("C:\example.txt") '分割文本文件中的 Dim lines() As String = fileReader.Split(Environment.NewLine) '创建一个新的Excel应用程序实例 Dim ExcelApp As New Excel.Application '打开Excel文件 Dim ExcelWorkbook As Excel.Workbook = ExcelApp.Workbooks.Open("C:\example.xlsx") '选中第一个工作表 Dim ExcelWorksheet As Excel.Worksheet = ExcelWorkbook.Sheets(1) '写入文本文件中的到Excel工作表中 For i As Integer = 0 To lines.Length - 1 ExcelWorksheet.Cells(i + 1, 1) = lines(i) Next '保存Excel文件并关闭应用程序 ExcelWorkbook.Save() ExcelWorkbook.Close() ExcelApp.Quit() '释放Excel对象 Marshal.ReleaseComObject(ExcelApp) End Sub End Class ``` 在这个示例中,我们使用`My.Computer.FileSystem.ReadAllText()`方法读取文本文件内容,并使用`String.Split()`方法将其分割成。我们创建了一个新的Excel应用程序实例,并打开了一个Excel工作簿。然后,我们选中了第一个工作表,并使用`Cells()`属性将文本文件中的每一写入到Excel工作表中。最后,我们保存Excel文件并关闭应用程序。 ### 回答2: 在VB.NET中读取TXT文件并将其写入Excel文件的过程如下: 首先,要在代码中导入相关的命名空间: ```vb Imports Microsoft.Office.Interop Imports System.IO ``` 然后,可以编写一个方法来实现这个功能: ```vb Private Sub ReadTxtWriteToExcel(txtFilePath As String, excelFilePath As String) ' 创建Excel应用程序 Dim excelApp As New Excel.Application() ' 打开Excel文件 Dim excelWorkbook As Excel.Workbook = excelApp.Workbooks.Open(excelFilePath) ' 选择第一个工作表 Dim excelWorksheet As Excel.Worksheet = CType(excelWorkbook.Worksheets(1), Excel.Worksheet) ' 读取TXT文件内容 Dim txtLines As String() = File.ReadAllLines(txtFilePath) For i As Integer = 0 To txtLines.Length - 1 ' 获取每一的数据 Dim lineData As String = txtLines(i) ' 将数据按照某种规则拆分成列 Dim columns As String() = lineData.Split(vbTab) ' 根据制表符拆分列数据 ' 将数据写入Excel的单元格 For j As Integer = 0 To columns.Length - 1 ' Excel单元格是从1开始计数的,所以要加1 excelWorksheet.Cells(i + 1, j + 1) = columns(j) Next Next ' 保存并关闭Excel文件 excelWorkbook.Save() excelWorkbook.Close() ' 关闭Excel应用程序 excelApp.Quit() End Sub ``` 在调用这个方法时,需要提供TXT文件的路径和Excel文件的路径作为参数。例如: ```vb ReadTxtWriteToExcel("C:\input.txt", "C:\output.xlsx") ``` 这样,就可以将TXT文件内容写入Excel文件了。注意要确保Excel应用程序已经安装在计算机上,并且有读写目标Excel文件的权限。 ### 回答3: 在VB.Net中,可以通过以下步骤将TXT文件读取并写入Excel里。 步骤1:导入所需的命名空间 首先,在代码中导入以下命名空间: ``` Imports System.IO Imports Excel = Microsoft.Office.Interop.Excel ``` 步骤2:创建读取TXT文件的函数 下面是一个示例函数,用于读取TXT文件中的数据: ``` Private Function ReadTextFile(filePath As String) As List(Of String) Dim lines As New List(Of String) If File.Exists(filePath) Then Using reader As New StreamReader(filePath) While Not reader.EndOfStream lines.Add(reader.ReadLine()) End While End Using End If Return lines End Function ``` 步骤3:创建写入Excel文件的函数 下面是一个示例函数,用于将数据写入Excel文件中: ``` Private Sub WriteToExcel(data As List(Of String), excelFilePath As String) Dim xlApp As New Excel.Application Dim xlWorkbook As Excel.Workbook = xlApp.Workbooks.Add() Dim xlWorksheet As Excel.Worksheet = xlWorkbook.Sheets(1) For i = 0 To data.Count - 1 xlWorksheet.Cells(i + 1, 1) = data(i) Next xlWorkbook.SaveAs(excelFilePath) xlWorkbook.Close() xlApp.Quit() End Sub ``` 步骤4:调用函数 在你的代码中,你可以调用上述函数来读取TXT文件并将其写入Excel文件中: ``` Dim txtData As List(Of String) = ReadTextFile("path/to/text/file.txt") WriteToExcel(txtData, "path/to/excel/file.xlsx") ``` 请确保你已经安装了Microsoft Excel,并将Excel的Interop组件添加到你的项目引用中,以便在代码中使用相关的类和方法。另外,确保提供正确的路径来读取和保存文件
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

键盘上的舞指

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值