如何解决如何读取作为Blob文件存储在Azure存储中的Excel文件
我想使用C#中的Epplus包读取作为Blob存储在Azure存储容器中的excel文件。 我试图用这段代码做些事情。
lapply(seq_along(cleanFiles),function(i)
writeLines(cleanFiles[[i]],con = file.path(dummyRPath,basename(functionList[i]))))
抛出错误了吗?
解决方法
我们不能使用Azure blob url初始化FileInfo
对象,它将引发错误`System.NotSupportedException:'不支持给定路径的格式。'。
因此,如果您想读取存储在Azure blob中的excel文件,我们首先需要下载它。 例如
string connectionString = "";
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient("test");
BlobClient blobClient = containerClient.GetBlobClient("sample.xlsx");
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
using (var stream = await blobClient.OpenReadAsync(new BlobOpenReadOptions(true)))
using (ExcelPackage package = new ExcelPackage(stream))
{
//get the first worksheet in the workbook
ExcelWorksheet worksheet = package.Workbook.Worksheets.FirstOrDefault();
int colCount = worksheet.Dimension.End.Column; //get Column Count
int rowCount = worksheet.Dimension.End.Row; //get row count
for (int row = 1; row <= rowCount; row++)
{
for (int col = 1; col <= colCount; col++)
{
Console.WriteLine(" Row:" + row + " column:" + col + " Value:" + worksheet.Cells[row,col].Value.ToString().Trim());
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。