Как создать таблицу 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 Server 2005
- Службы Analysis Services Excel KPI не отображается
- Экспорт из SQL Server в Excel с заголовками столбцов?
- Объединение таблицы Excel в базу данных SQL
- Импорт файла Excel 2007 с использованием SQL Server 2005
- Отключение или переопределение функции экспорта excel и pdf в Reporting Services
- Данные хинди в базе данных SQL Server 2005
- Excel Vs XML при загрузке данных
- как я могу получить данные из excel через «select statement» в sql 2005?
- В памяти OleDbConnection в файл Excel
- Пакеты SSIS для импорта файлов Excel в SQL Server
- обновить таблицу SQl от значений в excel
- Подготовка и импорт данных в существующую базу данных
Вы должны иметь возможность перебирать коллекцию столбцов 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)," (остальная часть строки кода)