我们是否需要在服务器中安装Microsoft Office以便在Asp.net中导入Excel?

Joh*_*lin 5 .net c# import

我们是否需要在服务器中安装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)

Rom*_*ain 8

如果您只阅读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)

从这里下载驱动程序

请参阅此示例