In my current project I have requirement to upload an excel file, parse it and send the data to a third party system. I have no need to persist the file either in SharePoint or on disk and I don't need to keep the data in SharePoint since it's immediately sent the the 3rd party system. Since the site is hosted in SharePoint I'd like to take advantage of whatever I can from it.

Using a third party component like Aspose.Cells I can do most of that in a few lines of code but I'd rather not introduce another dependency or go through the licensing hassle. Is there a (easy) way I can do this with Excel services? I've looked at the SOAP and REST APIs and nothing really jumps out at me other than dropping the file somewhere, upload it, access it via the API, and then delete the file and destroy the old data in SP. Is there a way to handle a stream of an Excel file directly or handle a file without persisting it?

Any suggestions welcome,



You could write a Workflow (in Visual Studio) which runs when a file is uploaded to the library (to which the workflow is associated). This workflow could then run (C#) code that does what you need to do with the Excel file, then dispose of it when the workflow's done doing what it needs to do.

  • Andreas and James have the two halves of the answer I think. Use a library + workflow so you can queue your process without holding up the UI, and the OpenXML SDK for the processing itself. – Louis Apr 2 '12 at 2:47

i highly doubt you can do this using the Excel Services. In your scenario, i don't actually see any point in using SharePoint, or do i get this wrong?

You could use the OpenXML Framework (which is free) to do this, it also can handle a stream as input.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.