C# 是否有任何方法可以读取通过Azure函数(版本2)中的表单数据接收的Excel文件
我需要开发azure函数逐行读取Excel文件,并将这些数据插入数据库 所以通过使用下面的代码,我能够从HTTP请求中获取文件C# 是否有任何方法可以读取通过Azure函数(版本2)中的表单数据接收的Excel文件,c#,excel,asp.net-core,azure-functions,C#,Excel,Asp.net Core,Azure Functions,我需要开发azure函数逐行读取Excel文件,并将这些数据插入数据库 所以通过使用下面的代码,我能够从HTTP请求中获取文件 public static IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequest req, TraceWriter log) { var excel_file = req.Form.Files["file"];
public static IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequest req, TraceWriter log)
{
var excel_file = req.Form.Files["file"];
// read file and insert data and to database
return excel_file != null
? (ActionResult)new OkObjectResult(excel_file)
: new BadRequestObjectResult("err..");
}
我看到有很多方法可以用c#阅读excel表格,例如
Microsoft.Office.Interop.Excel
ExcelMapper
OLEDB..etc
但问题是这些都需要文件存储路径
问题是我是否可以在不在blob或其他位置写入的情况下读取这些excel文件
谢谢您可以尝试使用流作为输入参数。假设excel\u文件
是字节数组,您可以使用下面的代码:
using (var stream = new MemoryStream(excel_file))
{
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
while (reader.Read())
{
for (var i = 0; i < reader.FieldCount; i++)
{
var value = reader.GetValue(i)?.ToString();
}
}
}
}
使用(var-stream=newmemoryStream(excel\u文件))
{
使用(var reader=ExcelReaderFactory.CreateReader(流))
{
while(reader.Read())
{
对于(变量i=0;i
如果有人得到这些System.NotSupportedException:没有数据可用于编码1252异常,请参阅