我们是否需要在服务器中安装Microsoft office来运行应用程序以将数据从excel文件导入到mssql数据库?
有什么建议或想法吗?
我用的代码
public partial class _Default : System.Web.UI.Page
{
private String strConnection = "Data Source=MYCBJ017550027;Initial Catalog=MySamplesDB;Integrated Security=True";
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSend_Click(object sender, EventArgs e)
{
string path = fileuploadExcel.PostedFile.FileName;
string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;Persist Security Info=False";
OleDbConnection excelConnection =new OleDbConnection(excelConnectionString);
OleDbCommand cmd = new OleDbCommand("Select [ID],[Name],[Designation] from [Sheet1$]",excelConnection);
excelConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
sqlBulk.DestinationTableName = "Excel_table";
sqlBulk.WriteToServer(dReader);
excelConnection.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
如果您只阅读xls文件,那么使用Microsoft.Jet.OLEDB.4.0
它与.net框架内置.
如果您正在阅读xlsx文件,请使用Microsoft.ACE.OLEDB.12.0
.可以从Microsoft站点免费下载此驱动程序.您无需安装Microsoft官员进行干预.
使用以下连接字符串
string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=" + path + ";Extended Properties=Excel 12.0;HDR=YES";
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11249 次 |
最近记录: |