我有大量的 Excel 文件。有很多私人信息,我的客户希望将其存储在数据库中。之后他们可以使用数据库中的数据来重建所有的 Excel 报表。那么你有什么想法来实现这一目标吗?如果我将 Excel 转换为字节流进行存储怎么办?
我知道如果我把 Excel 放到字节流中,会使用更多的时间和空间来处理类似的格式和其他事情,这样做很愚蠢。所以我想要其他方式来存储数据?
您是否受限于使用 C#?某些版本的 SQL Server 提供 DTS 或 SSIS 服务,用于将数据从各种源/目标(如 Excel 文件)移入和移出数据库。Oracle 在 OWB 中有类似的东西。
正如 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();
您可以使用 Jet OleDB。
工作表将是表,工作簿将是数据库。您可以使用 SQl 查询来生成所需的数据并将其保存在数据表/数据集上