2017-01-26 11 views
0

.csv/Excelファイルからデータグリッドビューにデータをインポートする際に問題があります。DataGridViewにExcelファイルをインポートするときにデータが見つかりません

私の.csvファイルには、27/01/2017のような日付の列があります。私のデータグリッドビューにデータをインポートするとき、正常に動作していますが、日付列から12行しか転送されません。 datagridviewの日付列に3-4のレコードがありません。

私はすでにIMAX = 1とACEを試していますが、何も変わりません。しかし、日付の列を別のもの(日付ではない)に変更すると、インポートがうまくいきます。日付をインポートするのが問題です。誰かが私は、おかげでこの問題を解決することができますしてください場合は

private void button1_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     string Pathconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";"; 

     OleDbConnection conn = new OleDbConnection(Pathconn); 
     OleDbDataAdapter myDataAdaptor = new OleDbDataAdapter("Select * from [" + SheetName + "$]", conn); 

     System.Data.DataTable dt = new System.Data.DataTable(); 
     myDataAdaptor.Fill(dt); 

     dataGridView1.DataSource = dt; 
    } 
    catch(Exception) 
    { 
     MessageBox.Show("no workbook was uploaded please upload again!"); 
     wb.Close(false); 
     excel.Quit(); 
    } 

    wb.Close(false); 
    excel.Quit(); 
} 

これは.csv/Excelファイルからデータをインポートするための私のコードです!

答えて

0

データがExcelで正しくフォーマットされていないと推測しています。これが正しいことを確認し、下記のようなものを試してみてください。

using System; 
using System.Data; 
using System.Windows.Forms; 
using System.Data.SqlClient; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      System.Data.OleDb.OleDbConnection MyConnection; 
      System.Data.DataSet DtSet; 
      System.Data.OleDb.OleDbDataAdapter MyCommand; 
      MyConnection = new System.Data.OleDb.OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\csharp.net-informations.xls';Extended Properties=Excel 8.0;"); 
      MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection); 
      MyCommand.TableMappings.Add("Table", "Net-informations.com"); 
      DtSet = new System.Data.DataSet(); 
      MyCommand.Fill(DtSet); 
      dataGridView1.DataSource = DtSet.Tables[0]; 
      MyConnection.Close(); 
     } 
    } 
} 
関連する問題