【问题标题】:How can I create schema.ini file? I need to export my .csv file to datagridview如何创建 schema.ini 文件?我需要将我的 .csv 文件导出到 datagridview
【发布时间】:2012-09-04 08:28:52
【问题描述】:

我想将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 =
    }
}

【问题讨论】:

    标签: c# csv export


    【解决方案1】:

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

    [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 的工作原理

    【讨论】:

    【解决方案2】:

    如果您可以获取带有列标题的 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 单元格中调整选项。每列都有自己的定义。复制到文本文件时,结果中出现了右引号和左引号。

    【讨论】:

      猜你喜欢
      • 2018-08-02
      • 2012-04-14
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      • 2017-10-13
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      相关资源
      最近更新 更多