使用FileHelpers,如何从上载的Excel文件中提取记录

时间:2012-06-06 20:43:12

标签: c# excel filehelpers

FileHelpers的一个捆绑示例显示了如何从/向Microsoft Excel工作表中提取和插入记录,如下所示:

定义一个类,其成员对应于输入Excel文件中的列

[DelimitedRecord("|")]
public class CustomersVerticalBar
{
    public string CustomerID;
    public string CompanyName;
    public string ContactName;
    public string ContactTitle;
    public string Address;
    public string City;
    public string Country;
}

然后使用ExcelDataStorage提取记录如下:

ExcelStorage provider = new ExcelStorage(typeof(CustomersVerticalBar));
provider.StartRow = 3;
provider.StartColumn = 2;           
provider.FileName = "Customers.xls";
CustomerVerticalBar[] res = (CustomerVerticalBar[]) provider.ExtractRecords();

问题是如果没有输入Excel文件,但输入仅作为来自上传文件的输入流(例如来自HttpPostedFileBase),在这种情况下会有什么解决方案,因为ExcelDataStorage只接受文件名作为输入而不是输入流?如果解决方案使用除ExcelDataStorage之外的某些类,则可以。

1 个答案:

答案 0 :(得分:1)

您应该将其写入文件,然后在处理后删除它,因为库可能需要加载一些数据而不是全部,并且可能需要多次引用该文件。