VB6.0 读取CSV文件
最近做了一个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文件的更多相关文章
- VB6.0 读取Excel文件并返还数据集RecordSet
读取Excel文件并返还数据集RecordSet 该方法适用于.xls,.xlsx类型的文件 读取Excel文件的Function: '取得数据集 Function getRecordSetForEx ...
- sparkR读取csv文件
sparkR读取csv文件 The general method for creating SparkDataFrames from data sources is read.df. This met ...
- php读取csv文件,在linux上出现中文读取不到的情况 解决方法
今,php读取csv文件,在linux上出现中文读取不到的情况,google,后找到解决办法<?phpsetlocale(LC_ALL, 'zh_CN');$row = 1;$handle = ...
- Python 读取csv文件到excel
朋友问我如何通过python把csv格式的文件另存为xls文件,自己想了想通过读取csv文件然后再保存到xls文件中即可,也许还有其他简单的方法,但这里也为了练习python语法及其他知识,所以采用了 ...
- java读取CSV文件添加到sqlserver数据库
在直接将CSV文件导入sqlserver数据库时出现了错误,原因还未找到,初步怀疑是数据中含有特殊字符.于是只能用代码导数据了. java读取CSV文件的代码如下: package experimen ...
- C#:StreamReader读取.CSV文件(转换成DataTable)
using System.Data; using System.IO; /// <summary> /// Stream读取.csv文件 /// </summary> /// ...
- selenium3 文件系列之------ opencsv读取csv文件
最近在学习selenium有关文件的读取测试,今天先总结一下如何读取csv文件.CSV的定义是与逗号分隔的值(Comma-Separated Values),在Java中需要用到第三方lib去处理读取 ...
- python之小应用:读取csv文件并处理01数据串
目的:读取csv文件内容,把0和1的数据串取出来,统计出现1的连续次数和各次数出现的频率次数 先读取csv文件内容: import csv def csv_read(file): list = [] ...
- selenium java读取csv文件 (数据驱动)
javacsv2.1 下载地址:http://sourceforge.net/projects/javacsv/files/ 该链接可以下载java读取csv文件的jar 包.下载之后解压找到对应的. ...
随机推荐
- 黄聪:Access-Control-Allow-Origin,JS跨域解决办法
.htaccess添加下面代码: <IfModule mod_headers.c> Header add Access-Control-Allow-Origin "*" ...
- DBMS_JOBS
http://blog.itpub.net/23055736/viewspace-1115938/
- Mathematica 计算矩阵的伴随矩阵
AdjointMatrix[M_] := Module[{Ma, B, n, i, j}, Ma = Minors[M]; B = Ma; n = Dimensions[M][[1] ...
- Blackfin DSP(四):BF533 EBIU之SDRAM
BF533的SDRAM控制器最大支持128M bytes的SDRAM空间:总线宽度可以配置为4位.8位.16位.处理器与SDRAM的连线包括数据总线D[0:15].地址总线A[1:19].SDRAM刷 ...
- php配置
在 php.ini 文件中设置 cgi.fix_pathinfo=0 ,能避免掉很多不必要的 stat() 系统调用.
- json(http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html)
http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html
- Linq To DataSet
private static void LinqToDataSet() { string sql = "select * from Advertising"; using (Dat ...
- 精妙SQL语句
asc 按升序排列desc 按降序排列 下列语句部分是Mssql语句,不可以在access中使用.SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据 ...
- Qlikview 处理交叉表数据
数据来源于crossTable的时候,如何将数据做明细显示. 如图示交叉表数据 使用表格向导,选择交叉表按钮, 结果达到目的. 相关脚本. Month, 表示将要新加的字段的列明,Orders 为明细 ...
- 实现Base64加密解密
using System; using System.Text; namespace Common { /// <summary> /// 实现Base64加密解密 /// </ ...