Trang 1 trên 1

Nhập dữ liệu double từ file excel 2007

Đã gửi: T.Ba 10/04/2018 9:16 am
gửi bởi nhatlinh0207
  1.     Private Function NhapDuLieuTuExcel(ByVal linkexcel As String) As DataTable
  2.         Dim dt As DataTable = New DataTable()
  3.         Dim olecon As OleDbConnection = New OleDbConnection()
  4.         Dim strCon As String = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";", linkexcel)
  5.         olecon.ConnectionString = strCon
  6.         olecon.Open()
  7.  
  8.         Dim strSQL As String = "SELECT * FROM [DuLieuCan$]"
  9.         Dim oleda As OleDbDataAdapter = New OleDbDataAdapter(strSQL, olecon)
  10.         oleda.Fill(dt)
  11.         olecon.Close()
  12.         Return dt
  13.     End Function


Nếu sử dụng code trên khi máy tính đang dùng ngăn cách phần thập phân là dấu , (dấu phẩy) thì không thể nào lấy được dữ liệu double mà toàn là số nguyên. Nhưng nếu máy tính chuyển sang sử dụng ngăn cách phần thập phân là dấu . (dấu chấm) thì toàn bộ dữ liệu đều ok. Nhưng theo phong cách người Việt thì ko dùng theo chuẩn của Mỹ.

Mong anh em giúp đỡ. Xin cảm ơn.

P/s: file excel 2003 thì ko sao. nhưng phần mềm đang yêu cầu là file excel 2007 :)

Re: Nhập dữ liệu double từ file excel 2007

Đã gửi: T.Tư 11/04/2018 8:28 am
gửi bởi FlyingFox
Dùng CultureInfo cho application bằng cách viết Thread.CurrentThread.CurrentCulture = New CultureInfo("vi-VN")