Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > ช่วยหน่อยครับ asp.net กับการ import csv ไฟล์ครับ คือผมทำตามนี้แล้วอ่ะครับ



 

ช่วยหน่อยครับ asp.net กับการ import csv ไฟล์ครับ คือผมทำตามนี้แล้วอ่ะครับ

 



Topic : 042515

Guest




คือผมทำตามนี้แล้วอ่ะครับ https://www.thaicreate.com/asp.net/asp.net-read-csv-files.html
แต่เวลาที่มีภาษาไทยแล้วมันเป็นภาษาต่างด้าวอ่ะครับ ช่วยทีนะครับ นี่โค๊ดนะครับ

Code (VB.NET)
 Protected Sub Btnimp_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Btnimp.Click
        Dim CurrentFileName As String
        Dim CurrentPath As String
        Dim dt1 As String
        Dim dt2 As String

        CurrentFileName = myFile1.FileName
        If (Path.GetExtension(CurrentFileName).ToLower <> ".csv") Then
            ClientScript.RegisterStartupScript(Me.GetType(), "ShowAlert", ShowAlert("Error : Please Insert Excel File(.csv)"))
            Exit Sub
        End If
        If Not IsNothing(myFile1.PostedFile) Then

            Dim UlFileName As String
            Dim i As Integer

            UlFileName = "Upload/" & System.IO.Path.GetFileName(myFile1.ToString)

            '*** Save Images ***'
            myFile1.PostedFile.SaveAs(Server.MapPath(UlFileName))

        End If


        Dim strPath As String = "csv/"
        Dim dt As New System.Data.DataTable

        If Me.myFile1.HasFile Then
            Me.myFile1.SaveAs(Server.MapPath(strPath & myFile1.FileName))

            '*** Read CSV to DataTable ***'          
            dt = CsvCreateDataTable(strPath, Trim(myFile1.FileName))

            '*** Insert to Database ***'            
            InsertToDatabase(dt)
        End If
    End Sub

  Function CsvCreateDataTable(ByVal strPath, ByVal strFilesName) As DataTable

        Dim objConn As New OleDbConnection
        Dim dtAdapter As OleDbDataAdapter
        Dim dt As New DataTable
        Dim dr As System.Data.DataRow
        Dim i As Integer
        Dim strConnString As String


        '*** Column ***'
        dt.Columns.Add("Serial")
        dt.Columns.Add("Model")
        dt.Columns.Add("Name")
        dt.Columns.Add("User")
        dt.Columns.Add("Type")
        dt.Columns.Add("EMPLOYEEID")
        dt.Columns.Add("DEPTCODE")
        dt.Columns.Add("DEPTNAME")
        dt.Columns.Add("TEL")
        dt.Columns.Add("INVOICEDATE")
        dt.Columns.Add("EXPIRE")
        dt.Columns.Add("Brand")
        dt.Columns.Add("Mail")
        dt.Columns.Add("Fac")
        dt.Columns.Add("Location")
        dt.Columns.Add("Team")
        dt.Columns.Add("Vendor_code")
        dt.Columns.Add("Vendor_name")

        Dim StrWer As StreamReader
        Dim strLine As String
        StrWer = File.OpenText(Server.MapPath(strPath & strFilesName))
        Do Until StrWer.EndOfStream
            strLine = StrWer.ReadLine()
            If Trim(strLine) <> "" Then
                '*** Rows ***'
                If Mid(strLine, 1, 6) <> "Serial" Then
                    dr = dt.NewRow
                    dr("Serial") = Split(strLine, ",")(0)
                    dr("Model") = Split(strLine, ",")(1)
                    dr("Name") = Split(strLine, ",")(2)
                    dr("User") = Split(strLine, ",")(3)
                    dr("Type") = Split(strLine, ",")(4)
                    dr("EMPLOYEEID") = Split(strLine, ",")(5)
                    dr("DEPTCODE") = Split(strLine, ",")(6)
                    dr("DEPTNAME") = Split(strLine, ",")(7)
                    dr("TEL") = Split(strLine, ",")(8)
                    dr("INVOICEDATE") = Split(strLine, ",")(9)
                    dr("EXPIRE") = Split(strLine, ",")(10)
                    dr("Brand") = Split(strLine, ",")(11)
                    dr("Mail") = Split(strLine, ",")(12)
                    dr("Fac") = Split(strLine, ",")(13)
                    dr("Location") = Split(strLine, ",")(14)
                    dr("Team") = Split(strLine, ",")(15)
                    dr("Vendor_code") = Split(strLine, ",")(16)
                    dr("Vendor_name") = Split(strLine, ",")(17)
                    dt.Rows.Add(dr)
                End If

            End If
        Loop
        StrWer.Close()

        Return dt '*** Return DataTable ***




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-05-07 09:41:21 By : kawin View : 3470 Reply : 8
 

 

No. 1

Guest


ดูตรงหลัง ATITAYA อ่ะครับ มันเป็นภาษาต่างด้าวอ่ะครับ ช่วยหน่อยนะครับ ขอบคุณครับ
error ????????






Date : 2010-05-07 15:45:41 By : kawin
 


 

No. 2



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Book1.csv
เวลา,รายการ
4:50,ควอนตั้ม เทเลวิชั่น
5:15,เช้า-ข่าว 7 สี
6:00,การ์ตูนชุด BUBU CHACHA เพื่อนรักสี่ล้อ
6:25,รายการ การแพทย์ก้าวหน้า
6:30,รายการ ตูนดิสนีย์
8:05,รายการ มรดกโลก
8:10,ข่าวเด็ด 7 สี
8:15,ละคร ตุ๊กตาทอง (on-air)
9:10,รายการ เสน่ห์กีฬา
9:15,"ยอดภาพยนตร์นานาชาติ เสนอ ภ.เกาหลีชุด ""ลิขิตรักบนรอยแค้น"" (TIME BETWEEN DOG AND WOLF) ตอนแรก"
11:10,ข่าวเด็ด 7 สี
11:15,ละคร ตลาดไม่ขาดรัก
11:55,รายการฉลาด รอบรั้ว
12:00,"7 สี คอนเสิร์ต พบกับ ""ฝน ธนสุนทร / สาวมาด เมกะแดนซ์ / ปัญญา กตัญญู / โจ พรคเนศ /ราชสีห์มา เพชรดาราพันธ์ 2007"""
12:55,ข่าวเด็ด 7 สี
13:00,ละคร สูตรรักกับดักหัวใจ
13:45,รายการ คดีเด็ด
14:40,รายการ ทางเลือกทางหลวง
14:45,รายการปลดหนี้
15:10,ข่าวเด็ด 7 สี
15:15,รายการ ฟ้ามีตา
15:55,รายการ แชมเปียน คลินิก
16:00,รายการจ้อจี้
16:40,รายการเลือกได้เลือกดี
16:43,รายการก้าวไกล
16:45,รายการ เส้นทางเศรษฐี
16:50,รายการ ถ้อยธรรมพระราชดำรัส
16:55,รายการ รักษ์สุขภาพ
17:30,ข่าวภาคค่ำ (ช่วงที่ 1)
18:00,รายการ หลานปู่กู้อีจู้
18:25,รายการ ครูวิทย์ นักคิด
18:27,รายการ พลังจิ๋ว รักษ์โลก
18:28,รายการหนึ่งในร้อย
18:30,ละคร มนต์รักสายฟ้าแลบ
19:30,ข่าวภาคค่ำ (ช่วงที่ 2)
20:15,ละคร หงส์ฟ้า
22:15,ข่าวเด็ด 7 สี
22:30,"บิ๊กซินีม่า โปรแกรมทอง เสนอ ภ.ฝรั่ง ""น้ำหนัก รัก / แค้น / ศรัทธา"" (21 GRAMS)"
0:25,ข่าวภาคดึก
0:30,รายการ แซทโซน โซนมันวันเสาร์
1:30,เด็ดข่าวดึก
1:45,รายการพิเศษ เบื้องหลังละคร นักฆ่าขนตางอน (RERUN)
2:10,"WORLD CINEMA เสนอ ภ.เกาหลี ""2 เทพบุตรสะดุดรักยัยเฉิ่ม"" (ROMANCE OF THEIR OWN)"
3:30,ข่าวเด็ด 7 สี

ReadCsv.aspx
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="ReadCsv.aspx.vb" Inherits="ReadCsv" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="ImportButton" runat="server" Text="Import" />
        <br />
        <br />
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
    </div>
    </form>
</body>
</html>

ReadCsv.aspx.vb
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient

Public Partial Class ReadCsv
    Inherits System.Web.UI.Page

    Private dataTable As DataTable
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        dataTable = New DataTable()
        dataTable = ReadData()
        
        GridView1.DataSource = dataTable
        AddHandler GridView1.RowDataBound, AddressOf GridView1_RowDataBound
        GridView1.DataBind()
        
        AddHandler ImportButton.Click, AddressOf ImportButton_Click
    End Sub
    
    Protected Function ReadData() As DataTable
        ' อ่านข้อมูลจาก csv มาเก็บไว้ใน DataTable  
        Dim oleDbConnectionString As String = String.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0};Extended Properties='TEXT;HDR=Yes;FMT=Delimited;Format=Delimited(,)'", Page.Server.MapPath("~/"))
        Dim oleDbConnection As New OleDbConnection(oleDbConnectionString)
        
        Dim oleDbCommandString As String = "SELECT [เวลา] As [OnAirTime], [รายการ] As [Schedule] FROM [Book1.csv]"
        Dim oleDbCommand As New OleDbCommand(oleDbCommandString, oleDbConnection)
        
        Dim Dt As New DataTable()
        
        Dim dataAdapter As New OleDbDataAdapter()
        dataAdapter.SelectCommand = oleDbCommand
        dataAdapter.Fill(Dt)
        
        Return Dt
    End Function
    
    Protected Sub ImportButton_Click(ByVal sender As Object, ByVal e As EventArgs)
        ' insert ข้อมูลใน DataTable ลงฐานข้อมูล 
        Dim sqlConnectionString As String = "Data Source=.\SQLEXPRESS;Initial Catalog=SqlDatabase;Integrated Security=True"
        Dim sqlConnection As New SqlConnection(sqlConnectionString)
        
        Dim sqlCommandString As String = "Insert Into [MyTable] ([OnAirTime], [Schedule]) Values (@OnAirTime, @Schedule)"
        Dim sqlCommand As New SqlCommand(sqlCommandString, sqlConnection)
        'รูปแบบการกำหนดค่า: ชื่อพารามิเตอร์, ดาต้าไทป์, ขนาด, ชื่อคอลั่มของดาต้าเทเบิลที่จะป้อนให้พารามิเตอร์
        sqlCommand.Parameters.Add("@OnAirTime", SqlDbType.NVarChar, 50, "OnAirTime")
        sqlCommand.Parameters.Add("@OnAirTime", SqlDbType.NVarChar, 200, "Schedule")
        
        Dim dataAdapter As New SqlDataAdapter()
        dataAdapter.InsertCommand = sqlCommand
        dataAdapter.Update(dataTable) 'กำหนดดาต้าเทเบิลที่ใช้ในการ insert
    End Sub
    
    Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
        If e.Row.RowType = DataControlRowType.DataRow Then
            e.Row.Cells(0).Text = DateTime.Parse(e.Row.Cells(0).Text).ToShortTimeString()
            e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
        End If
    End Sub
End Class


ลองดูว่าได้ไหม
Date : 2010-05-08 09:02:48 By : tungman
 

 

No. 3

Guest


ขอคนช่วยหน่อยครับ ไปต่อไม่ได้ไม่ได้อ่ะครับ
ขอบคุณครับ
Date : 2010-05-08 09:32:07 By : kawin
 


 

No. 4

Guest


ขอบคุณครับ คุณ tungman พอดีเพิ่งเห็นนะครับ คือผมใช้แบบคุณ tungman ดูแล้วแต่บางคอลัม ที่เป็นตัวเลขและตัวหนังสือแบบคนละแถว มันจะมองไม่เห็นบางอันอ่ะครับ
เช่น ถ้าแถวแรกเป็นตัวเลข แถวต่อมาเป็นตัวหนังสือ มันก็จะไม่เห็นตัวหนังสือจะเป็นค่าว่างจะเห็นแต่ตัวเลข ครับ
ผมเลยใช้วิธีนี้แต่ไม่เห็นภาษาไทยอ่ะครับทำไงดี ขอบคุณมากครับ
Date : 2010-05-08 09:39:38 By : kawin
 


 

No. 5



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


0

ลองแล้วไม่เห็นเป็นไรเลย
Date : 2010-05-08 09:53:06 By : tungman
 


 

No. 6

Guest


ขอบคุณครับ คุณ tungman ขอลองดูหน่อยนะครับ
Date : 2010-05-08 10:00:51 By : kawin
 


 

No. 7

Guest


ก็ยังใช้ไม่ได้อ่ะครับ บางตัวที่มันชิดซ้ายก็จะไม่อ่าน เป็นค่าว่างซะงั้น
ก็ขอขอบคุณมากครับ
กำลังหาทางทำแบบอ่านทีละบรรทัดแบบเดิมให้อ่านภาษาไทยให้ได้
Date : 2010-05-08 12:48:33 By : kawin
 


 

No. 8

Guest


เอา text ใน csv มาดูดิ๊ ว่าทำไมไม่ได้

ถ้ามันไม่แสดงภาษาไทยก็แสดงว่ามันไม่ได้ encode ด้วย utf-8 ต้องหาทางแปลงเป็น utf-8 ให้ได้ก่อน
Date : 2010-05-08 16:57:01 By : tungman
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยหน่อยครับ asp.net กับการ import csv ไฟล์ครับ คือผมทำตามนี้แล้วอ่ะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่