(求教)怎么将TXT文件中的数据导入到VB中?
用力学软件分析了一堆数据生成了TXT文件,想把数据导入到VB中编一个小程序进一步分析数据,可是不知道该怎么导入数据,提取需要的数据?请知道的朋友帮帮忙讲解一下。谢谢。TXT文件中的数据如下,需要其中每一行第一列,第三列的数据。PRINT ELEMENT TABLE ITEMS PER ELEMENT
***** POST1 ELEMENT TABLE LISTING *****
STAT PREVIOUS PREVIOUS PREVIOUS PREVIOUS PREVIOUS PREVIOUS
ELEM IM JM IS JS IZ JZ
1 20157. -5475.6 70720. 70720. 0.10925E+06 0.10570E+06
2 -5475.6 -14675. 25382. 25382. 83120. 79568.
3 -14675. -14078. -1646.7 -1646.7 67607. 64055.
4 -14078. -9540.3 -12520. -12520. 59846. 56294.
5 -9540.3 -5903.6 -10034. -10034. 57123. 53571.
6 -5903.6 -7244.5 3699.5 3699.5 57373. 53821.
7 -7244.5 -17050. 27052. 27052. 58992. 55440.
8 -17050. -37903. 57533. 57533. 60502. 56950.
9 -37903. -70157. 88989. 88989. 60432. 56880.
10 -70157. -0.10936E+06 0.10817E+06 0.10817E+06 57942. 54390.
11 -0.10936E+06 -49735. -54390. -42303. 91277. 91277.
12 -49735. -5014.2 -42303. -30217. 91277. 91277.
13 -5014.2 24799. -30217. -18130. 91277. 91277.
14 24799. 39706. -18130. -6043.2 91277. 91277.
15 39706. 39706. -6043.2 6043.5 91277. 91277.
16 39706. 24799. 6043.5 18130. 91277. 91277.
17 24799. -5015.1 18130. 30217. 91277. 91277.
18 -5015.1 -49736. 30217. 42303. 91277. 91277.
19 -49736. -0.10936E+06 42303. 54390. 91277. 91277.
20 -0.10936E+06 -70158. -0.10817E+06-0.10817E+06 54390. 57942.
21 -70158. -37904. -88991. -88991. 56880. 60432.
22 -37904. -17050. -57535. -57535. 56950. 60502.
23 -17050. -7244.5 -27054. -27054. 55440. 58992.
24 -7244.5 -5902.9 -3701.5 -3701.5 53821. 57373.
25 -5902.9 -9538.5 10031. 10031. 53571. 57123.
26 -9538.5 -14075. 12517. 12517. 56295. 59847.
27 -14075. -14671. 1643.0 1643.0 64056. 67608.
28 -14671. -5470.3 -25384. -25384. 79568. 83120.
29 -5470.3 20162. -70719. -70719. 0.10569E+06 0.10925E+06
30 -63713. -18889. -88964. -84610. 69796. 72376.
31 -18889. 20839. -79183. -74656. 78242. 80505.
32 20839. 55100. -68673. -63996. 85639. 87574.
33 55100. 83575. -57533. -52730. 91927. 93524.
34 83575. 0.10600E+06 -45870. -40966. 97056. 98306.
35 0.10600E+06 0.12217E+06 -33793. -28812. 0.10098E+06 0.10188E+06
36 0.12217E+06 0.13193E+06 -21414. -16381. 0.10368E+06 0.10422E+06
37 0.13193E+06 0.13519E+06 -8848.0 -3789.6 0.10513E+06 0.10531E+06
38 0.13519E+06 0.13193E+06 3789.2 8847.6 0.10531E+06 0.10513E+06
39 0.13193E+06 0.12217E+06 16381. 21414. 0.10422E+06 0.10368E+06
40 0.12217E+06 0.10600E+06 28811. 33793. 0.10188E+06 0.10098E+06
41 0.10600E+06 83575. 40965. 45870. 98307. 97056.
1楼的数据已复制粘贴就变形了···我放一个截图上来吧···
一行一行读取,用空格分隔为数组 嗯,能稍微具体一点么···我只知道用OPEN打开文件,貌似还要用什么Input吧?可是具体怎么弄还不不大明白?
Dim StringTmp As String , OutS , i As Byte
Open FileName For Input As #1
Do While Not EOF(1)
Line Input #1, StringTmp
OutS = Split(StringTmp, " ")
For i = 0 To UBound(OutS) - 1
Debug.Print OutS(i)
Next
loop
Close #1
恩,4楼正解
Private Sub Command1_Click()
Open "c:\123.txt" For Input As #1
Dim istr As String, tmp As String, tep As String, cy
While Not EOF(1)
Line Input #1, istr
istr = Trim(istr)
If istr <> "" Then
While InStr(istr, " ") '双引号内两个空格
istr = Replace(istr, " ", " ") '前两空格,后一空格
Wend
cy = Split(istr)
If IsNumeric(cy(0)) Then
Print cy(0), cy(2)
End If
End If
Wend
Close #1
End Sub
也可以将数据存到一个二维数组里 将txt文本内容一次提取到一个变量,然后按行存到一个数组,再对每个数组元素处理或可加快速度
str = StrConv(InputB(LOF(1), #1), vbUnicode)
arr = Split(str, vbCrLf)
Private Sub Command3_Click()
Text1.Text = ""
CommonDialog1.Filter = "*.txt 文件|*.txt"
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Binary As #1
Text1.Text = Input(LOF(1), 1)
Close #1
End Sub
补充:VB , 数据库(包含打印,安装,报表)