Вставить запись в верхней части Excel - PullRequest
0 голосов
/ 19 февраля 2019

Привет, у меня есть этот код C #, и он работает хорошо:

string fileFullPath = Dts.Variables["User::ExcelFileFullPath"].Value.ToString();

            //Create Excel Connection
            ConStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileFullPath + ";Extended Properties=\"Excel 12.0 XML;HDR=NO\";";
            OleDbConnection cnn = new OleDbConnection(ConStr);

            //Get Sheet Name
            cnn.Open();
            DataTable dtSheet = cnn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

            foreach (DataRow drSheet in dtSheet.Rows)
            {
                if (drSheet["TABLE_NAME"].ToString().Contains("$"))
                {
                    if (drSheet["TABLE_NAME"].ToString().Contains("Survey"))
                    {
                        sheetname = drSheet["TABLE_NAME"].ToString();



                        OleDbCommand myCommand = new OleDbCommand();
                        string sql = null;


                        myCommand.Connection = cnn;
                        sql = "Insert into [" + sheetname + "] values('5','e')";
                        myCommand.CommandText = sql;
                        myCommand.ExecuteNonQuery();
                        cnn.Close();
                    }

                }
            }

Но этот код вставляет запись в конец файла Excel, и мне нужно вставить эту запись в первый разстрока (A1: B1)

Есть предложения?

1 Ответ

0 голосов
/ 19 февраля 2019

Необходимо указать диапазон рядом с именем листа:

sql = "Insert into [" + sheetname + "A1:B1] values('5','e')"

Более подробную информацию можно найти в следующем вопросе:

Если вам нужна подробная статья о выполнении операций SELECT, INSERT, UPDATE для EXCEL с использованием OLEDB, обратитесь к:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...