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 以外的其他类,则可以。