Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Готовые решения

МЕНЮ САЙТА
  • 1
  • 2
  • 3

КАТЕГОРИИ РАЗДЕЛА

ОПРОСЫ
Какой версией Excel Вы пользуетесь?
Всего ответов: 56993
Главная » Готовые решения » VB.NET » Полезные приёмы

Прочитать текстовый файл
14.11.2014, 20:58

Способов, на самом деле, больше. Это самые симпатичные :)

'Выбираем текстовый файл (сравнение производилось на csv-файле, содержащем 102229 строк)
 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
 With OpenFileDialog1 'select csv file
 If .ShowDialog = Windows.Forms.DialogResult.OK Then TextBox1.Text = .FileName
 End With
 End Sub
 'Читаем 1-ю строку (File.ReadAllLines) - 0,35...0,39 сек
 Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
 If Not System.IO.File.Exists(TextBox1.Text) Then MsgBox("Файл не существует", 64) : Exit Sub
 Dim tm As DateTime = Now
 Dim arr() As String = System.IO.File.ReadAllLines(TextBox1.Text)
 TextBox2.Text = arr(0)
 Label4.Text = (Now - tm).TotalSeconds
 End Sub

далее повторяющиеся строки кодов не будем показывать

 'Читаем последнюю строку (File.ReadAllLines) - 0,35...0,39 сек
 Dim arr() As String = System.IO.File.ReadAllLines(TextBox1.Text)
 TextBox2.Text = arr(UBound(arr))
 'Читать строку с выбранным номером (StreamReader) - практически 0 сек, если читаем первые строки
 Dim SR As New System.IO.StreamReader(TextBox1.Text)
 Dim s As String, i As Integer
 For i = 1 To NumericUpDown1.Value
 s = SR.ReadLine
 Next
 TextBox4.Text = s
 SR.Close()
 'Читать последнюю строку (StreamReader) - 0,17...0,20 сек
 Dim SR As New System.IO.StreamReader(TextBox1.Text)
 Dim s As String, i As Integer
 Do While SR.Peek <> -1
 i += 1
 s = SR.ReadLine
 Loop

 'Do
 ' 
 'Loop Until s Is Nothing

 'While Not SR.EndOfStream
 ' 
 'End While

 SR.Close()
 'Читать последнюю строку (SR.ReadToEnd.Split(vbLf)) - 0,55...0,59
 Dim SR As New System.IO.StreamReader(TextBox1.Text)
 Dim sp() = SR.ReadToEnd.Split(vbLf)
 SR.Close()
 TextBox4.Text = sp(UBound(sp) - 1)
 'Читать последнюю строку (My.Computer.FileSystem.ReadAllText) - 0,59...0,64
 Dim arr() = My.Computer.FileSystem.ReadAllText(TextBox1.Text, System.Text.Encoding.Default).Split(vbLf) 'System.Text.Encoding.GetEncoding(1251)
 TextBox4.Text = arr(UBound(arr) - 1)
Добавил: nilem |
Просмотров: 4268 | Рейтинг: 0.0/0
Всего комментариев: 1
Спам-сообщение скрыто. Показать
0   Спам
1    SvetaS   (26.09.2015 17:59) [ Материал]
   Добрый День!
Кто нибудь может подсказать, почему "Mass = IO.File.ReadAllLines("d:\file.csv")" код даёт ошибку 464 EXCEL 2016
БИБЛИОТЕКУ mscorlib.dll ПОДКЛЮЧИЛА...
Private Sub CommandButton1_Click()
Dim Mass()
Dim STR As String
Mass = IO.File.ReadAllLines("d:\file.csv")
STR = Split(Mass(2), ",")(3)
MsgBox (STR)

End Sub

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!