SQL Server BCP实用程序

时间:2016-02-04 08:36:57

标签: sql excel csv bcp

我的问题是关于sql server bcp utility:

如何使用以下扩展名将数据从sql server导出到Excel工作表中,例如xls,xlsx和xlsb使用bcp工具,因为我可以导出到.csv文件和.txt文件扩展名但是使用excel导出后无法打开它。

任何出口到Excel工作表的工作人员都会提供帮助。

感谢您的提前帮助

1 个答案:

答案 0 :(得分:2)

首先,BCP不支持xls或xlsx格式。 BCP仅支持xml,txt和csv;

如果必须从excel导入数据,则使用.net或java或Php创建具有相同excel的数据表。然后使用该数据表在Sql

中创建相应的表

如果您使用的是sql和C#,那么这可能会对您有所帮助

string con =
  @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\temp\test.xls;" + 
  @"Extended Properties='Excel 8.0;HDR=Yes;'";    
using(OleDbConnection connection = new OleDbConnection(con))
{
    connection.Open();
    OleDbCommand command = new OleDbCommand("select * from [Sheet1$]", connection); 
    using(OleDbDataReader dr = command.ExecuteReader())
    {
         while(dr.Read())
         {
             var row1Col0 = dr[0];
             Console.WriteLine(row1Col0);
         }
    }
}

private void GetExcel()
        {
            string fullPathToExcel = "<Path to Excel file>"; //ie C:\Temp\YourExcel.xls
            string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=yes'", fullPathToExcel);
            DataTable dt = Function_Library.DatabaseFunctions.GetDataTable("SELECT * from [SheetName$]", connString);    

        }