当前位置:  开发笔记 > 编程语言 > 正文

从上传的Excel文件中获取数据而不保存到文件系统

如何解决《从上传的Excel文件中获取数据而不保存到文件系统》经验,为你挑选了1个好方法。

我要求允许此ASP.NET Web应用程序的用户上载特定格式的Excel电子表格,使用电子表格中的数据填充数组,并将数组绑定到Oracle存储过程以进行验证并插入数据库.我必须能够从Excel电子表格中读取数据,而无法将其保存到Web服务器的硬盘上.这是我无法弄清楚如何做的部分.这是一个简单的代码示例.

<%--ASP.NET Declarative--%>



// C# Code-Behind
protected void Button1_Click(object sender, EventArgs e) {
    var postedFile = FileUpload1.PostedFile;

    // ... Read file in memory and put in format to send to stored procedure ...

}

谁能帮我这个?我感谢任何人的考虑.

thx,
gabe



1> gabe..:

我在Codeplex上找到了一个很棒的轻量级开源API,用于执行此操作,称为ExcelDataReader.

它可以将excel文件的输入流转换为System.Data.DataSet对象(可能使用BIFF规范进行解析).

这是链接:

http://www.codeplex.com/ExcelDataReader

这是一个代码示例:

<%--ASP.NET Declarative--%>




// C# Code-Behind
protected void Button1_Click(object sender, EventArgs e) {
    // the ExcelDataReader takes a System.IO.Stream object
    var excelReader = new ExcelDataReader(FileUpload1.FileContent);
    FileUpload1.FileContent.Close();

    DataSet wb = excelReader.WorkbookData;
    // get the first worksheet of the workbook
    DataTable dt = excelReader.WorkbookData.Tables[0];

    GridView1.DataSource = dt.AsDataView();
    GridView1.DataBind();
}

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有