2012-09-04 134 views
4

我想將CSV文件導出到datagridview。我需要創建文件schema.ini。但我不知道,我該如何創建它?如何創建schema.ini文件?我需要將我的.csv文件導出到datagridview

有我的代碼:

public DataTable exceldenAl(string excelFile) 
    { 
     try 
     { 
      string fileName = Path.GetFileName(excelFile); 
      string pathOnly = Path.GetDirectoryName(excelFile); 
      string cmd = "Select * From [" + fileName + "$]"; 

      string cnstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + pathOnly + "\\;Extended Properties=\"Text;HDR=Yes;FORMAT=Delimited\""; 
      OleDbConnection ocn = new OleDbConnection(cnstr); 
      ocn.Open(); 
      OleDbCommand command = new OleDbCommand(cmd,ocn); 
      OleDbDataAdapter adap = new OleDbDataAdapter(command); 

      DataTable dt = new DataTable(); 
      dt.Locale = CultureInfo.CurrentCulture; 
      adap.Fill(dt); 
      return dt; 
     } 
     finally { 
     } 
    } 


    private void btnExcelReader_Click(object sender, EventArgs e) 
    { 
     string dosya; 
     string cevap; 
     openFileDialog1.ShowDialog(); 
     dosya = openFileDialog1.FileName.ToString(); 
     ClsExcelReader er = new ClsExcelReader(); 
     cevap = er.exceldenAl(dosya).ToString(); 
     dataGridView1.DataSource = cevap; 
     //listViewExcelOku.DataBindings = 
    } 
} 

回答

5

打開記事本,並創建一個類似的文件:

[YourCSVFileName.csv] 
ColNameHeader=True 
Format=CSVDelimited 
DateTimeFormat=dd-MMM-yyyy 
Col1=A DateTime 
Col2=B Text Width 100 
Col3=C Text Width 100 
Col4=D Long 
Col5=E Double 

修改上面的文件,以滿足您的特定數據模式。將它作爲SCHEMA.ini保存在* .CSV文件所在的同一目錄中。

閱讀此鏈接(Importing CSV File Into Database),這是一個很好的例子,讓你和了解的Schema.ini如何工作

+0

謝謝。這解決了我的問題 –

1

我寫這些Excel公式生成該文件的內容,如果你能弄個帶有列標題的Excel工作表。這很基本。根據需要添加和刪除功能。它假定所有帶有分隔符的文本。然後在A2中插入以下公式(包括所有選項):

="[no headers.csv] 
"&"ColNameHeader=false 
"&"MaxScanRows=0 
"&"Format=Delimited(;) 
Col"&COLUMN()&"="&A1&" text 
" 

並在B2中的下面的公式。

=A2&"Col"&COLUMN()&"="&B1&" text 
" 

然後向右拖動以獲取您的基本schema.ini(最右邊的單元格)。您可以調整列名稱下方的Excel單元格中的選項。每一列都有自己的定義。複製到文本文件時,我在結果中關閉並打開引號。

相關問題