Как создать таблицу SQL с использованием столбцов excel?
Мне нужно помочь сгенерировать имя столбца из excel автоматически. Я думаю, что: мы можем сделать ниже коды:
CREATE TABLE [dbo].[Addresses_Temp] ( [FirstName] VARCHAR(20), [LastName] VARCHAR(20), [Address] VARCHAR(50), [City] VARCHAR(30), [State] VARCHAR(2), [ZIP] VARCHAR(10) )
через C #. Как узнать имя столбца из Excel?
private void Form1_Load(object sender, EventArgs e) { ExcelToSql(); } void ExcelToSql() { string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Source\MPD.xlsm;Extended Properties=""Excel 12.0;HDR=YES;"""; // if you don't want to show the header row (first row) // use 'HDR=NO' in the string string strSQL = "SELECT * FROM [Sheet1$]"; OleDbConnection excelConnection = new OleDbConnection(connectionString); excelConnection.Open(); // This code will open excel file. OleDbCommand dbCommand = new OleDbCommand(strSQL, excelConnection); OleDbDataAdapter dataAdapter = new OleDbDataAdapter(dbCommand); // create data table DataTable dTable = new DataTable(); dataAdapter.Fill(dTable); // bind the datasource // dataBingingSrc.DataSource = dTable; // assign the dataBindingSrc to the DataGridView // dgvExcelList.DataSource = dataBingingSrc; // dispose used objects if (dTable.Rows.Count > 0) MessageBox.Show("Count:" + dTable.Rows.Count.ToString()); dTable.Dispose(); dataAdapter.Dispose(); dbCommand.Dispose(); excelConnection.Close(); excelConnection.Dispose(); }
- Импортировать файл Excel на сервере Sql
- Запрос таблицы базы данных SQL Server 2005 из таблицы Excel
- Что вызывает экспорт Excel из служб отчетов SQL Server для создания ненормально большого файла?
- C # import excel fileheet to sql database error
- Таблица Excel таблицы Excel
- Отключение или переопределение функции экспорта excel и pdf в Reporting Services
- Проблема с обновлением sql с excel
- Объединение таблицы Excel в базу данных SQL
- SQL Server 2005 Передача данных SSIS SQL в Excel искажает файл Excel
- как конвертировать данные из xml-файла в excel-лист
- OPENDATASOURCE для чтения Excel
- Колонка обновления SQL 2005 для вставки
- Загружать записи данных из EXCEL в базу данных mssql
Вы должны иметь возможность перебирать коллекцию столбцов DataTable, чтобы получить имена столбцов.
System.Data.DataTable dt; dt = new System.Data.DataTable(); foreach(System.Data.DataColumn col in dt.Columns) { System.Diagnostics.Debug.WriteLine(col.ColumnName); }
Должен ли он быть C #? Если вы хотите использовать Java, у меня были хорошие результаты с POI Apache: http://poi.apache.org/
Это не решение C # … это быстрое и грязное решение прямо из excel. Решение c # будет более надежным и позволит вам, скорее всего, указать его на целевой xls и дать ему ответы – это решение для вас, если вам нужны ответы быстро и у вас нет времени писать программу, или если кто-то не имеет среды разработки C # на своем компьютере.
Одним из возможных способов получения результатов, которые вы ищете, является:
- выделите строку в excel, которая имеет заголовки столбцов
- скопировать их
- перейти на новый рабочий лист
- правая ячейка ячейки A1
- click paste-transpose
- он вставляет их в формат столбцов
-
перейдите к B2 и вставьте эту формулу в:
= CONCATENATE ("[", SUBSTITUTE (A1, "", ""), "] varchar (20),")
-
затем вставьте эту формулу вплоть до столбца заголовков столбцов
-
скопируйте результаты в SQL Server, затем добавьте верхнюю строку кода «CREATE TABLE [dbo]. [Addresses_Temp] ("
-
затем добавьте закрывающие круглые скобки
Что мы сделали:
- мы получили все заголовки colunn из заголовка ROW и
- превратили их в колонну
- затем удалите все пробелы (если они являются заголовками заголовков нескольких слов) и
- прикрепили к началу открытую скобку "[" и
- прикрепленный к концу "] VARCHAR (20)," (остальная часть строки кода)