将Excel导入到C#.NET中的数据库

我有一个巨大的Excel文件集合。 有许多信息privite和我的客户要存储在数据库中。 之后他们可以使用数据库中的数据来重build所有的Excel报表。 那么你有什么想法来实现呢? 如果我把Excel转换成字节stream来存储呢?

我知道,如果我把Excel放到字节stream中,会用更多的时间和空间来处理格式和其他的东西,愚蠢的做到这一点。 所以我想用其他方式来存储数据?

正如Uriel_SVK所说,Interop.Excel应该很容易实现。 但如果你只是想存储数据,也可以试试Oledb。

string myConnection ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\test.xlsx;Extended Properties="Excel 12.0 ;HDR=YES"; OleDbConnection conn = new OleDbConnection(connstr); string strSQL = "SELECT * FROM [Sheet$]"; OleDbCommand cmd = new OleDbCommand(strSQL, conn); DataSet dataset = new DataSet(); OleDbDataAdapter adapter = new OleDbDataAdapter(cmd); adapter.Fill(dataset); GridViewXYZ.DataSource = dataset; GridViewXYZ.DataBind(); 

你是否被限制使用C#? 某些版本的SQL Server提供DTS或SSIS服务,用于将数据从各种源/目标(如Excel文件)移入和移出数据库。 Oracle在OWB中有类似的东西。

你可以使用Jet OleDB。

该表将是表和工作簿将数据库。 您可以使用SQl查询生成所需的数据,并将其保存在数据表/数据集中