我怎样才能创建schema.ini文件? 我需要将.csv文件导出到datagridview

我想将CSV文件导出到datagridview。 我需要创建文件schema.ini 。 但我不知道,我怎么能创造它?

有我的代码:

  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 = } } 

打开记事本并创建一个类似于此的文件:

 [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文件所在的同一目录中。

阅读此链接( 将CSV文件导入数据库 ),这是一个很好的例子,让您了解Schema.ini的工作原理

如果您可以获取带有列标题的Excel工作表,我会编写这些Excel公式来生成此文件的内容。 这是非常基本的。 根据需要添加和删除function。 它假设所有文本都带有分隔符。 然后在A2中插入以下公式(包括所有选项):

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

B2中的以下公式。

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

然后向右拖动以获取基本schema.ini(最右边的单元格)。 您可以调整列名称下方的Excel单元格中的选项。 每列都有自己的定义。 复制到文本文件时,我在结果中关闭并打开引号。