ASP.NET读取CSV文件
Imports System
Imports System.IO
Imports System.Text
Imports System.Net
Imports System.Runtime.InteropServices
Dim aFILENAME As String
Dim aRecCount As Long
Dim aCSVData As Array
Dim aCsvID As String
Dim aCsvNAME As String
Dim files As System.Web.HttpFileCollection = System.Web.HttpContext.Current.Request.Files
Dim iFile As System.Int32
For iFile = 0 To files.Count - 1
Dim postedFile As System.Web.HttpPostedFile = files(iFile)
Dim fileName As String
fileName = System.IO.Path.GetFileName(postedFile.FileName)
'aFILENAME = Server.MapPath(".") & "\Temp" & Format(Now, "yyMMddHHmmss") & fileName
aFILENAME = Server.MapPath(".") & "\" & fileName
'If Not (fileName = String.Empty) Then
'postedFile.SaveAs(aFILENAME)
'End If
Next
Dim sr As StreamReader = New StreamReader(aFILENAME, System.Text.Encoding.GetEncoding("shift-jis"))
Do While sr.Peek >= 0
aCSVData = sr.ReadLine().Split(",")
If UBound(aCSVData) = 25 Then
aRecCount = aRecCount + 1
aCsvID = CStr(aCSVData(0))
aCsvNAME = CStr(aCSVData(1))
End If
Loop
Imports System.IO
Imports System.Text
Imports System.Net
Imports System.Runtime.InteropServices
Dim aFILENAME As String
Dim aRecCount As Long
Dim aCSVData As Array
Dim aCsvID As String
Dim aCsvNAME As String
Dim files As System.Web.HttpFileCollection = System.Web.HttpContext.Current.Request.Files
Dim iFile As System.Int32
For iFile = 0 To files.Count - 1
Dim postedFile As System.Web.HttpPostedFile = files(iFile)
Dim fileName As String
fileName = System.IO.Path.GetFileName(postedFile.FileName)
'aFILENAME = Server.MapPath(".") & "\Temp" & Format(Now, "yyMMddHHmmss") & fileName
aFILENAME = Server.MapPath(".") & "\" & fileName
'If Not (fileName = String.Empty) Then
'postedFile.SaveAs(aFILENAME)
'End If
Next
Dim sr As StreamReader = New StreamReader(aFILENAME, System.Text.Encoding.GetEncoding("shift-jis"))
Do While sr.Peek >= 0
aCSVData = sr.ReadLine().Split(",")
If UBound(aCSVData) = 25 Then
aRecCount = aRecCount + 1
aCsvID = CStr(aCSVData(0))
aCsvNAME = CStr(aCSVData(1))
End If
Loop
UBound 函数 (Visual Basic)
返回数组的指示维度的最大可用下标。
Public Function UBound( _
ByVal Array As System.Array, _
Optional ByVal Rank As Integer = 1 _
) As Integer
参数
- Array
-
必选。任何数据类型的数组。要在其中查找维度的最大可能下标的数组。
- Rank
-
可选。为 Integer。要返回的最大可能下标的维度。对第一维使用 1,对第二维使用 2,依此类推。如果省略 Rank,则假定为 1。
StreamReader 类
实现一个 TextReader,使其以一种特定的编码从字节流中读取字符。
备注
StreamReader 旨在以一种特定的编码输入字符,而 Stream 类用于字节的输入和输出。使用 StreamReader 读取标准文本文件的各行信息。
除非另外指定,StreamReader 的默认编码为 UTF-8,而不是当前系统的 ANSI 代码页。UTF-8 可以正确处理 Unicode 字符并在操作系统的本地化版本上提供一致的结果。
HttpFileCollection 类
提供对客户端上载文件的访问,并组织这些文件。
命名空间:System.Web
程序集:System.Web(在 system.web.dll 中)
HttpContext.Request 属性
为当前 HTTP 请求获取 HttpRequest 对象。
命名空间:System.Web
程序集:System.Web(在 system.web.dll 中)
HttpPostedFile 类
提供对客户端已上载的单独文件的访问。
命名空间:System.Web
程序集:System.Web(在 system.web.dll 中)
StreamReader.Peek 方法
返回下一个可用的字符,但不使用它。
命名空间:System.IO
程序集:mscorlib(在 mscorlib.dll 中)
Split 函数 (Visual Basic)
返回一个从零开始的一维数组,其中包含指定数量的子字符串。
本作品采用 知识共享署名-非商业性使用 2.5 中国大陆许可协议进行许可。 |