如何将excel的数据上传到List或DataTable而不保存然后删除excel文件?
我使用asp.net C#。
例如,我有一个包含一些数据的excel文件,我想将excel文件中的数据导入List或DataTable,而不将excel保存到文件系统中,然后删除excel文件。所以我可以避免IO操作。
答案 0 :(得分:1)
它可行,但这取决于Excel文件的类型。
如果是CSV,您可以使用响应流上的StreamReader逐行解析CSV。然后,您可以使用TextFieldParser(不要被命名空间中的VisualBasic吓到!)从流中解析CSV。 Here's a link with some info about the TFP.
如果您正在谈论.xls或.xlsx,则取决于您使用的库。不同的库会以不同的方式执行操作,但很可能它们会采用包含该文件的流(无论该流是FileStream还是响应流 - 都喜欢多态!)并从那里加载它。
答案 1 :(得分:0)
SpreadsheetGear for .NET可以读取/写入文件,流和内存(字节数组),并且有一种从一系列单元格中获取DataTable的方法(IRange.GetDataTable(...))。
如果您想试用,可以免费试用here。
免责声明:我拥有SpreadsheetGear LLC