最近做了一个Upload文件的需求,文件的格式为CSV,读取文件的方法整理了一下,如下:

1、先写了一个读取CSV文件的Function:

 '读取CSV文件
'假设传入的参数strFile=C:\Documents and Settings\Administrator\桌面\TPA_Report1 - 副本.CSV
Public Function Read_CSVFile(strFile As String) As ADODB.Recordset
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
Dim strFilePath As String, strFileName As String
Dim i As Integer
i = Len(strFile)
Do Until Mid(strFile, i, ) = "\" '从后向前查找倒数第一个"\"
i = i -
Loop
strFilePath = Left(strFile, i - ) '返回结果:C:\Documents and Settings\Administrator\桌面
strFileName = Mid(strFile, InStrRev(strFile, "\") + 1) '返回结果:TPA_Report1 - 副本.CSV conn.Open "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" & _
"DBQ=" & strFilePath & ";", "", "" rs.Open "select * from [" & strFileName & "]", conn, adOpenStatic, _
adLockReadOnly, adCmdText
Set Read_CSVFile = rs
Set rs = Nothing
Set conn = Nothing
End Function

2、调用上面的Function:

 Private Sub cmdUpload_Click()
Dim rsData As ADODB.Recordset 'CSV中的所有的数据
Dim rsUploadLog As ADODB.Recordset '上传纪录 '取得CSV中所有的数据
Set rsData = Read_CSVFile(txtFileName.Text) If rsData.RecordCount > Then
DoEvents
Dim iTotal As Integer
iTotal = rsData.MoveFirst
Do While Not rsData.EOF '循环数据集
'UploadLog
rsUploadLog.AddNew
rsUploadLog!Row = iTotal +
rsUploadLog!Createby = sUserID
rsUploadLog!CreateDate = dServerdateTime
rsUploadLog!Note = rsData.Fields("投保人名字") & "" '“投保人名字”为CSV文件的表头
iTotal = iTotal +
DoEvents
rsData.MoveNext
Loop '一批数据里面有的成功,有的失败.进行保存的时候,成功的就保存更新,不成功的就不保存
If Not BatchSaving(conn, rsUploadLog) = True Then
MsgBox "Upload un-successfully done", vbInformation, sApplicName
Else
MsgBox "Upload successfully done", vbInformation, sApplicName
End If
End If
'释放资源,否则CSV打开会是只读状态
rsData.Close
Set rsData.ActiveConnection = Nothing
Set rsData = Nothing
Exit Sub
End Sub

VB6.0 读取CSV文件的更多相关文章

  1. VB6.0 读取Excel文件并返还数据集RecordSet

    读取Excel文件并返还数据集RecordSet 该方法适用于.xls,.xlsx类型的文件 读取Excel文件的Function: '取得数据集 Function getRecordSetForEx ...

  2. sparkR读取csv文件

    sparkR读取csv文件 The general method for creating SparkDataFrames from data sources is read.df. This met ...

  3. php读取csv文件,在linux上出现中文读取不到的情况 解决方法

    今,php读取csv文件,在linux上出现中文读取不到的情况,google,后找到解决办法<?phpsetlocale(LC_ALL, 'zh_CN');$row = 1;$handle = ...

  4. Python 读取csv文件到excel

    朋友问我如何通过python把csv格式的文件另存为xls文件,自己想了想通过读取csv文件然后再保存到xls文件中即可,也许还有其他简单的方法,但这里也为了练习python语法及其他知识,所以采用了 ...

  5. java读取CSV文件添加到sqlserver数据库

    在直接将CSV文件导入sqlserver数据库时出现了错误,原因还未找到,初步怀疑是数据中含有特殊字符.于是只能用代码导数据了. java读取CSV文件的代码如下: package experimen ...

  6. C#:StreamReader读取.CSV文件(转换成DataTable)

    using System.Data; using System.IO; /// <summary> /// Stream读取.csv文件 /// </summary> /// ...

  7. selenium3 文件系列之------ opencsv读取csv文件

    最近在学习selenium有关文件的读取测试,今天先总结一下如何读取csv文件.CSV的定义是与逗号分隔的值(Comma-Separated Values),在Java中需要用到第三方lib去处理读取 ...

  8. python之小应用:读取csv文件并处理01数据串

    目的:读取csv文件内容,把0和1的数据串取出来,统计出现1的连续次数和各次数出现的频率次数 先读取csv文件内容: import csv def csv_read(file): list = [] ...

  9. selenium java读取csv文件 (数据驱动)

    javacsv2.1 下载地址:http://sourceforge.net/projects/javacsv/files/ 该链接可以下载java读取csv文件的jar 包.下载之后解压找到对应的. ...

随机推荐

  1. 黄聪:Access-Control-Allow-Origin,JS跨域解决办法

    .htaccess添加下面代码: <IfModule mod_headers.c> Header add Access-Control-Allow-Origin "*" ...

  2. DBMS_JOBS

    http://blog.itpub.net/23055736/viewspace-1115938/

  3. Mathematica 计算矩阵的伴随矩阵

    AdjointMatrix[M_] := Module[{Ma, B, n, i, j},    Ma = Minors[M];    B = Ma;    n = Dimensions[M][[1] ...

  4. Blackfin DSP(四):BF533 EBIU之SDRAM

    BF533的SDRAM控制器最大支持128M bytes的SDRAM空间:总线宽度可以配置为4位.8位.16位.处理器与SDRAM的连线包括数据总线D[0:15].地址总线A[1:19].SDRAM刷 ...

  5. php配置

    在 php.ini 文件中设置 cgi.fix_pathinfo=0 ,能避免掉很多不必要的 stat() 系统调用.

  6. json(http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html)

    http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html

  7. Linq To DataSet

    private static void LinqToDataSet() { string sql = "select * from Advertising"; using (Dat ...

  8. 精妙SQL语句

    asc 按升序排列desc 按降序排列 下列语句部分是Mssql语句,不可以在access中使用.SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据 ...

  9. Qlikview 处理交叉表数据

    数据来源于crossTable的时候,如何将数据做明细显示. 如图示交叉表数据 使用表格向导,选择交叉表按钮, 结果达到目的. 相关脚本. Month, 表示将要新加的字段的列明,Orders 为明细 ...

  10. 实现Base64加密解密

    using System; using System.Text;   namespace Common { /// <summary> /// 实现Base64加密解密 /// </ ...