最近做了一个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. CSAPP(前言)

    很久之前就听过有过CSAPP这本书的传闻了,今天终于决定上手这本神作:既然是神作,就要仔细拜读一下,今天看了一下前言部分还真的令人耳目一新,单单是前言部分就让我学习到几个新的知识点: 1.c和Java ...

  2. netbean7.2 改变maven插件的中心库地址

    今天内网安装netbeans 7.2(因为所使用的JDK版本问题),但安装上去之后发现build failure,提示说仓库主机找不到,因为提示上说的是apache的仓库地址.看执行maven的输出可 ...

  3. Xamarin.Froms项目中包含的文件

    Clearly, the program created by the Xamarin.Forms template is very simple, so this is an excellent o ...

  4. 一行代码解释.net事件与委托

    button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); }; delegat ...

  5. CRM 403错误

    1 IIS 正常 2 CRM 各项服务正常. 3  应该程序池--CRMAppPool 停止

  6. javaSwing文本域文件

    public class JTextAreaTest extends JFrame{    public JTextAreaTest()    {            setSize(200, 40 ...

  7. java中数据类型转换

    1.自动类型转换:首先两者数据类型要兼容,且目标类型要大于源类型如(int类型转换成double类型) 2.强制转换:两者数据类型要兼容,会使破坏数据的结构

  8. Appium for Mac 环境准备篇

    之前写过一篇Appium for windows的文章,因为是09年的T400,启动Android模拟器的时候死机三次,那就公司申请台Macbook air吧,15寸的Macbook Pro实在太重了 ...

  9. Statement及PreparedStatement执行多个sql

        这两个对象的区别: 1.Statement它更适合执行不同sql的批处理,它没有提供预处理功能,性能比较低. 2.PreparedStatement它适合执行相同的批处理,它提供了预处理功能, ...

  10. C++学习基础三——迭代器基础

    迭代器分为两种:一种是iterator,另一种是const_iterator.两者都可进行访问容器中的元素,不同之处是:(1)const_iterator类型只能用于读取容器内的元素,不能更改其值:而 ...