Vikas Hire Ответов: 3

Как экспортировать данные листа excel в MS SQL server?


Привет,
Я хочу получить данные из листа Excel и вставить их в свою таблицу базы данных.
Есть ли лучший вариант для этого?
Я использую ajax-вызов для загрузки файла. и сохраняйте данные с помощью веб-сервиса.

Что я уже пробовал:

Я хочу экспортировать данные листа excel в базу данных ms sql..

Member 12882545

почему бы вам не попробовать использовать процесс Extract, Load, Transform (ETL)?

3 Ответов

Рейтинг:
9

Vikas Hire

Привет, я конвертирую свои данные в формат CSV, но не могу загрузить csv-файл,
пожалуйста, смотрите ниже мой код.


DataTable dt=new DataTable();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
con.Open();
SqlDataAdapter da = new SqlDataAdapter("getContacts", con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.AddWithValue("@userAutoId", userAutoId);
//cmd.Parameters.Add("@retValue", System.Data.SqlDbType.VarChar).Direction = System.Data.ParameterDirection.ReturnValue;
da.Fill(dt);

//DataTable dt = GetData(cmd);

Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition","attachment;filename=DataTable.csv");
Response.Charset = "";
Response.ContentType = "csv/text";


StringBuilder sb = new StringBuilder();
for (int k = 0; k < dt.Columns.Count; k++)
{
    //add separator
    sb.Append(dt.Columns[k].ColumnName + ',');
}
//append new line
sb.Append("\r\n");
for (int i = 0; i < dt.Rows.Count; i++)
{
    for (int k = 0; k < dt.Columns.Count; k++)
    {
        //add separator
        sb.Append(dt.Rows[i][k].ToString().Replace(",", ";") + ',');
    }
    //append new line
    sb.Append("\r\n");
}
Response.Output.Write(sb.ToString());
Response.Flush();
Response.End();


Рейтинг:
1

Daniel Jones

это можно сделать с помощью мастера импорта и экспорта: Знать, как импортировать данные из электронной таблицы Excel в SQL Server[^]


Рейтинг:
1

Member 9831003

Сделайте связанный сервер из вашего sql server в excel,и данные будут поступать в sql server с помощью команды open row set.