本来想送300分,但是每次只能送100分,故本问题将贴3次,请参与的同志们,贴三次,以便于我给分。
提取的数据表格包括:` 十一、资产负债表`` 十二、损益表`` 十三、现金流量表`` 十四、财务状况`,文本文件开头的股票中文名称及代码请分开。
另外,每个文本文件中,各表所在的行数不相同。如能建立读取批量文本文件,并导入数据库的功能更是感谢。文本文件(600020.txt):
                          中原高速(600020)
         ————XY纵横财经  版权所有  授权使用————
`一、特别提示`                                  XY纵横财经 XY.COM.CN…………中间省略
` 九、该公司公告`                                XY纵横财经 XY.COM.CN
…………中间省略
资者定价配售发行28000万股A股,价格6.36元/股。2003年8月8日,“中原高
速”(A股)在上交所上市。
注:以上公司基本概况数据截止日期:20031027` 十一、资产负债表`                              XY纵横财经 XY.COM.CN
────────┬──────┬──────┬──────┬──────
名称\年度       │  2003年中期│  2002年末期│  2001年末期│  2000年末期
────────┼──────┼──────┼──────┼──────
总资产(万元)    │   290035.82│   325295.31│   271730.07│   227866.15
流动资产(万元)  │    42626.36│    77275.97│    23030.53│     2063.49
货币资金(万元)  │    40941.59│    75713.20│    18319.98│     1795.68
应收帐款(万元)  │     1559.32│     1549.76│     4073.87│      267.80
存货净额(万元)  │          --│          --│          --│          --
长期投资(万元)  │          --│          --│          --│          --
固定资产(万元)  │   228736.92│   227760.67│   226131.63│   220693.93
无形资产(万元)  │    18672.54│    20258.68│    22567.90│     5108.73
流动负债(万元)  │     7990.03│    57553.22│    44679.91│    82411.19
短期借款(万元)  │          --│     5000.00│    10000.00│          --
长期负债(万元)  │    93000.00│    93000.00│    83000.00│    27000.00
股东权益(万元)  │   189045.79│   174742.10│   144050.16│   118454.96
资本公积金(万元)│    41454.96│    41454.96│    41454.96│    41454.96
盈余公积金(万元)│    11257.43│    11257.43│     5119.04│          --
每股净资产(元)  │      2.4551│      2.2694│      1.8708│      1.5384
调整每股净资产  │          --│          --│          --│          --
股东权益比率(%) │      65.180│      53.718│      53.012│      51.984
资产负债率(%)   │      34.820│      46.282│      46.988│      48.016
每股公积金(元)  │      0.5384│      0.5384│      0.5384│      0.5384
────────┴──────┴──────┴──────┴──────
注:"调整每股净资产"单位为元` 十二、损益表`                                    XY纵横财经 XY.COM.CN
─────────┬─────┬─────┬─────┬─────
名称\年度         │2003年中期│2002年末期│2001年末期│2000年末期
─────────┼─────┼─────┼─────┼─────
主营业务收入(万元)│  36320.43│  68165.91│  49297.59│  31965.11
主营业务利润(万元)│  24319.85│  45363.23│  32270.06│  15398.09
其他业务利润(万元)│    -41.61│     -6.29│        --│        --
营业费用(万元)    │        --│    576.00│        --│        --
管理费用(万元)    │    985.51│   2664.96│   1187.48│    455.87
财务费用(万元)    │   2395.64│   4683.58│   5430.51│   5257.33
投资收益(万元)    │        --│        --│        --│        --
利润总额(万元)    │  21348.80│  37488.56│  25595.20│   9678.65
净利润(万元)      │  14303.70│  30691.94│  25595.20│   8360.77
未分配利润(万元)  │  59333.41│  45029.71│  20476.16│        --
每股收益(元)      │     0.186│     0.399│     0.332│     0.109
净资产收益率(%)   │     7.570│    17.560│    17.770│     7.059
每股未分配利润(元)│     0.771│     0.585│     0.266│        --
─────────┴─────┴─────┴─────┴─────` 十三、现金流量表`                              XY纵横财经 XY.COM.CN
───────────┬──────┬──────┬──────┬──────
名称\年度(万元)       │  2003年中期│  2002年末期│            │
───────────┼──────┼──────┼──────┼──────
经营活动现金流入      │          --│    71128.45│            │            
经营活动现金流出      │          --│    21998.00│            │            
经营活动现金净流量    │    21899.10│    49130.44│            │            
投资活动现金流入      │          --│          --│            │            
投资活动现金流出      │          --│     9900.44│            │            
投资活动现金净流量    │   -28929.19│    -9900.44│            │            
筹资活动现金流入      │          --│   121000.00│            │            
筹资活动现金流出      │          --│   102836.78│            │            
筹资活动现金净流量    │   -27741.53│    18163.22│            │            
现金及等价物净流量    │   -34771.61│    57393.22│            │            
每股经营活动现金净流量│       0.284│       0.638│            │            
───────────┴──────┴──────┴──────┴──────
注:每股经营活动现金净流量单位为元` 十四、财务状况`                                XY纵横财经 XY.COM.CN
────────┬──────┬──────┬──────┬──────
名称\年度       │  2003年中期│  2002年末期│  2001年末期│  2000年末期
────────┼──────┼──────┼──────┼──────
应收帐款周转率  │          --│          --│      22.709│          --
存货周转率      │          --│          --│          --│          --
总资产周转率    │          --│          --│       0.197│          --
流动比率        │       5.335│       1.343│       0.516│       0.025
速动比率        │          --│          --│          --│          --
主营业务增长率  │          --│      38.274│          --│          --
税后利润增长率  │          --│      19.913│          --│          --
净资产增长率    │          --│          --│      21.608│          --
总资产增长率    │          --│          --│      19.250│          --
────────┴──────┴──────┴──────┴──────` 十五、公司相关评论`                            XY纵横财经 XY.COM.CN
[1]中原高速:奔驰在希望的快车道---访中原高速董事长宋春雷
 …………中间省略

解决方案 »

  1.   

    你这文件结构都很规范,将文件存到数组里,然后一条条导就行了!!
    Dim strTmp As String, strArray() As StringOpen "C:\aa.txt" For Input As #1
    strTmp = StrConv(InputB(LOF(1), #1), vbUnicode)
    Close #1strArray = Split(vbCrLf) '将文件内容存到数组里,一个元素代表文件的一行然后用MID函数分解各个字段的内容存就行了!!
      

  2.   

    Private Sub TxtToMdb(sTxtPath As String, sTxtFileName As String, sAccessFullFileName As String,sAccessTable As String)
    '功能:将文本文件导入到Access中的表
    '调用:Call TxtToMdb("c:\","test.txt","c:\a.mdb","NewTempTable")
    '结果:将c:\test.txt导入到c:\a.mdb中的NewTempTable表中    Dim db As DAO.Database
     
        Set db = DBEngine.CreateDatabase(sAccessFullFileName, dbLangGeneral)
        If Err.Number = 3204 Then
            Set db = Workspaces(0).OpenDatabase(sAccessFullFileName)
        End If
        db.Execute "SELECT * into " & sAccessTable & " FROM [Text;HDR=NO;DATABASE=" & sTxtPath & "]." & sTxtFileName
        db.Close
        Set db = Nothing
    End Sub
      

  3.   

    另外问一下,你贴的东西都是同一个txt里面的么?
      

  4.   

    给你一个思路:按照cuizm(射天狼)的方法分析文本,然后取出有用的,
    比如取出资产负债表存为文本文件 "c:\资产负债表.txt"
    名称\年度       │  2003年中期│  2002年末期│  2001年末期│  2000年末期
    ────────┼──────┼──────┼──────┼──────
    总资产(万元)    │   290035.82│   325295.31│   271730.07│   227866.15
    流动资产(万元)  │    42626.36│    77275.97│    23030.53│     2063.49
    货币资金(万元)  │    40941.59│    75713.20│    18319.98│     1795.68
    应收帐款(万元)  │     1559.32│     1549.76│     4073.87│      267.80
    存货净额(万元)  │          --│          --│          --│          --
    长期投资(万元)  │          --│          --│          --│          --
    固定资产(万元)  │   228736.92│   227760.67│   226131.63│   220693.93
    无形资产(万元)  │    18672.54│    20258.68│    22567.90│     5108.73
    流动负债(万元)  │     7990.03│    57553.22│    44679.91│    82411.19
    短期借款(万元)  │          --│     5000.00│    10000.00│          --
    长期负债(万元)  │    93000.00│    93000.00│    83000.00│    27000.00
    股东权益(万元)  │   189045.79│   174742.10│   144050.16│   118454.96
    资本公积金(万元)│    41454.96│    41454.96│    41454.96│    41454.96
    盈余公积金(万元)│    11257.43│    11257.43│     5119.04│          --
    每股净资产(元)  │      2.4551│      2.2694│      1.8708│      1.5384
    调整每股净资产  │          --│          --│          --│          --
    股东权益比率(%) │      65.180│      53.718│      53.012│      51.984
    资产负债率(%)   │      34.820│      46.282│      46.988│      48.016
    每股公积金(元)  │      0.5384│      0.5384│      0.5384│      0.5384
    然后在文本文件的目录下建立一个Schema.ini
    里面内容如下:
    [资产负债表.txt]
    Format=Delimited(│)再调用我上面贴的过程即可!
    Call TxtToMdb("c:\", "资产负债表.txt", "d:\test.mdb", "资产负债表")
    其他的类似!
    Call TxtToMdb("c:\", "损益表.txt", "d:\test.mdb", "损益表")
      

  5.   


    '终于搞定了!化了我2个小时的时间啊,你调用getsometable即可,个别的地方需要你自己去完善,比如d:\600020.txt你可以做一个参数、比如如果表存在就删除、比如临时文件的删除等等。。
    '总之这些都是小事了,你自己处理吧Private Sub GetSomeTable()
    '从文本中提取一些表格
        Call StartChange("` 十一、资产负债表`", "资产负债表")
        Call StartChange("` 十二、损益表`", "损益表")
        Call StartChange("` 十三、现金流量表`", "现金流量表")
        Call StartChange("` 十四、财务状况`", "财务状况")
    End SubPrivate Sub StartChange(strSTable As String, strTTable As String)
    '开始提取某个特定表格
        Dim strTmp As String
        Dim strArray() As String
        Dim i As Integer
        Dim flag As Boolean
        
        Open "d:\600020.txt" For Input As #1
        strTmp = StrConv(InputB(LOF(1), #1), vbUnicode)
        Close #1
        strArray = Split(strTmp, vbCrLf) '将文件内容存到数组里,一个元素代表文件的一行    For i = 0 To UBound(strArray)
            If InStr(strArray(i), strSTable) <> 0 Then
                flag = True
                i = i + 1
                Open "d:\" & strTTable & ".txt" For Output As #1
            End If
            If flag Then
                If Left(strArray(i), 1) <> "─" Then
                    Print #1, strArray(i)
                Else
                    icount = icount + 1
                End If
                If icount = 3 Then
                    Close #1
                    Call WriteTempSchemia(strTTable & ".txt", "│")
                    Call TxtToMdb("d:", strTTable & ".txt", "d:\out.mdb", strTTable)
                    Exit For
                End If
            End If
        Next i
        
    End SubPublic Sub WriteTempSchemia(strFileName As String, strSeparator As String)
    '写入格式符号文件
        Open "d:\Schema.ini" For Output As #1
            Print #1, "[" & strFileName & "]"
            Print #1, "Format=Delimited(" & strSeparator & ")"
        Close #1
    End SubPrivate Sub TxtToMdb(sTxtPath As String, sTxtFileName As String, sAccessFullFileName As String, sAccessTable As String)
    '功能:将文本文件导入到Access中的表
    '调用:Call TxtToMdb("c:\","test.txt","c:\a.mdb","NewTempTable")
    '结果:将c:\test.txt导入到c:\a.mdb中的NewTempTable表中    Dim db As DAO.Database
        
        On Error Resume Next
        Set db = DBEngine.CreateDatabase(sAccessFullFileName, dbLangGeneral)
        If Err.Number = 3204 Then
            Set db = Workspaces(0).OpenDatabase(sAccessFullFileName)
        End If
        db.Execute "SELECT * into " & sAccessTable & " FROM [Text;HDR=NO;DATABASE=" & sTxtPath & "]." & sTxtFileName
        db.Close
        Set db = Nothing
    End Sub
      

  6.   

    不好意思,我用yoki(小马哥)的方法用在我的.txt文件格式里,能分解出txt的格式,但就是不能生成数据库。不知为什么,请yoki(小马哥)的方法能否按我的.txt格式帮我改下代码,SCHEMA.INI内容是什么?万分感激,或者那位高手能帮帮我,谢谢了,下面是我的文本文件的格式:
      date     time     strip_id   stat widt thik wrw_1 twid1 
    02.11.03 15:47:57 203110240160 0128 1269  412     0 25016 
    02.11.03 15:53:02 203110250170 0128 1269  412     0 25016
      

  7.   

    好意思,我用yoki(小马哥)的方法用在我的.txt文件格式里,能分解出txt的格式,但就是不能生成数据库。不知为什么,请yoki(小马哥)的方法能否按我的.txt格式帮我改下代码,SCHEMA.INI内容是什么?万分感激,或者那位高手能帮帮我,谢谢了,下面是我的文本文件的格式:
      date     time     strip_id   stat widt thik wrw_1 twid1 
    02.11.03 15:47:57 203110240160 0128 1269  412     0 25016 
    02.11.03 15:53:02 203110250170 0128 1269  412     0 25016