C# IExcelDataReadReader и конкретный лист

У меня есть программа, которая должна прочитать файл Excel и записать его на сервер SQL. Я использую IExcelDataReader, и мой код работает, пока у меня есть один лист. Если у меня есть другой, который для примера содержит некоторую информацию, которую мне не нужно вставлять, я не могу указать конкретный лист, который мне нужен. Я знаю, что, вероятно, мне следует каким-то образом использовать NextRecord(), но я не могу заставить его работать.

Это мой код до сих пор:

OpenFileDialog ope = new OpenFileDialog();
        ope.Filter = "Excel Files|*.xls;*.xlsx;*.xlsm";
        if (ope.ShowDialog() == false)
            return;
        FileStream stream = new FileStream(ope.FileName, FileMode.Open);
        IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
        excelReader.IsFirstRowAsColumnNames = true;
        DataSet result = excelReader.AsDataSet();
        DataClasses1DataContext conn = new DataClasses1DataContext();

        foreach (DataTable table in result.Tables)
        {

            foreach (DataRow dr in dd.Rows)
            {

                Excel addTable = new Excel()
                {

                    id = Convert.ToInt32(dr[0]),
                    ime = Convert.ToString(dr[1])

                };

                conn.ExecuteCommand("TRUNCATE TABLE Excel");

                conn.Excels.InsertOnSubmit(addTable);

            }
        }

        conn.SubmitChanges();
        excelReader.Close();
        stream.Close();
        MessageBox.Show("success!");

1 ответ

Я нашел aswer.. в foreach должно быть только:

foreach (DataRow dr in result.Tables[0].Rows)
        {
            Excel addTable = new Excel()
            {


                ime = Convert.ToString(dr[1])

            };

            //   conn.ExecuteCommand("TRUNCATE TABLE Excel");
            conn.ExecuteCommand("DELETE FROM Excel where ime='a'");
            conn.Excels.InsertOnSubmit(addTable);
        }
Другие вопросы по тегам