SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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,


share|improve this question

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.

share|improve this answer
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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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