2017-07-07 154 views
0

目前我要读一个Excel文件,这些是我的本地机器上使用类似这样的文件名路径的方法:阅读从AWS S3斗excel文件

   // Create COM Objects. Create a COM object for everything that is referenced 
       Console.WriteLine("Begin reading file..."); 
       Excel.Application xlApp = new Excel.Application(); 
       Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\Users\user1\Desktop\file1.xlsx"); 
       Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1]; 
       Excel.Range xlRange = xlWorksheet.UsedRange; 
       // Some code here 

现在我要读从AWS S3文件桶,我对整个AWS环境来说都是新手。从我读的所有资源中,我认为你从S3存储桶获得的文件只能作为“流”类型返回。

我该如何使用我目前的方法?

有没有其他更好的方法来做到这一点,我的目标是从S3存储桶读取一个excel文件,并对数据进行处理。

回答

0

有几件事你可以做。这里有一对

  1. 您可以将blob保存为本地文件。 Docs from AWS
  2. 您可以使用第三方将您的存储桶安装为虚拟驱动器。 Check here。请记住,您在这里通过网络进行操作。
  3. 您也可以跳过COM对象alltogheter并使用ClosedXML。这将避免当前COM可用的速度和内存问题。由于您已经在使用AWS,因此这也将使您可以灵活地将其转移到lambda或集装箱化服务。

我确定你现在知道了,你需要注意的一件事是文件权限,而你的进程正在处理文件。