2

我有大量的 Excel 文件。有很多私人信息,我的客户希望将其存储在数据库中。之后他们可以使用数据库中的数据来重建所有的 Excel 报表。那么你有什么想法来实现这一目标吗?如果我将 Excel 转换为字节流进行存储怎么办?

我知道如果我把 Excel 放到字节流中,会使用更多的时间和空间来处理类似的格式和其他事情,这样做很愚蠢。所以我想要其他方式来存储数据?

4

3 回答 3

0

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

于 2012-05-03T06:35:55.100 回答
0

正如 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();
于 2012-05-03T06:27:25.443 回答
0

您可以使用 Jet OleDB。

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

于 2012-05-03T08:06:06.943 回答