我的问题是关于sql server bcp utility:
如何使用以下扩展名将数据从sql server导出到Excel工作表中,例如xls,xlsx和xlsb使用bcp工具,因为我可以导出到.csv文件和.txt文件扩展名但是使用excel导出后无法打开它。
任何出口到Excel工作表的工作人员都会提供帮助。
感谢您的提前帮助
答案 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);
}