从excel导入特定数据

时间:2014-07-09 23:47:46

标签: c# excel

我有几个excel文件,都是特定格式的。我需要从他们每个人那里获取数据并在我的程序中同时显示所有数据。

问题是,我的数据是在特定的单元格中。

  • 我的第一个数据是在单元格C2中
  • 第二个数据靠近文件底部。每个文件的列仍然相同,但行区分。所以我必须写一个循环来找到那一行。也许if(row-1 ==“”)就像一个代码可能写在for循环中。

这是我到目前为止的代码:

public partial class Form1 : Form
{
    FolderBrowserDialog fbd = new FolderBrowserDialog();
    String[] genel = new String [1000];

    public Form1()
    {
        InitializeComponent();
        this.textBox1.ReadOnly = true;
    }

    private void btnGozat_Click(object sender, EventArgs e)
    {

        if (fbd.ShowDialog() == DialogResult.OK)
        {
            checkedListBox1.Items.AddRange(Directory.GetFiles(fbd.SelectedPath).Select(x => Path.GetFileName(x)).ToArray());
        }

        textBox1.Text =fbd.SelectedPath;

        String[] allfiles = System.IO.Directory.GetFiles(fbd.SelectedPath, "*.*", System.IO.SearchOption.AllDirectories);

        genel = allfiles;
    }

    private void btnAnaliz_Click(object sender, EventArgs e)
    {
        String[] checkedFiles = new String[checkedListBox1.Items.Count];

        int count;
        int checkF = 0;

        for (count = 0; count < checkedListBox1.Items.Count; count++)
        {
            if (checkedListBox1.GetItemChecked(count))
            {
                checkedFiles[checkF] = genel[count];
                checkF++;
            }      
        }
    }
}

谢谢。

1 个答案:

答案 0 :(得分:1)

以下是一些我希望它有用的代码:

ExcelReader reader = new ExcelReader();
reader.ConnectionString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties=Excel 12.0;", dataSource);

DataSet testData = reader.ConvertToDataSet(workSheet);

您有一个不同的班级ExcelReader和方法ConvertToDataSet

public ExcelReader(string connectionString)
{
    _connectionString = connectionString;
}

public DataSet ConvertToDataSet(string workSheetName)
{
    OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [" + workSheetName + "$]", ConnectionString);
    DataSet ds = new DataSet();

    adapter.Fill(ds, "Standard");

    return ds;
}

之后,您在DataSet中拥有Excel文件,您可以操作数据。

您还需要一个连接字符串属性!