Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

TL;DR: I need to create a system in SharePoint in which a user uploads an Excel (or CSV) file to the site from a webpage. The site takes the uploaded document and uses it to populate a list. Then it runs calculations on the list. Then, if there are any errors, it generates a report that can be e-mailed. I know I need to use a workflow, but I can't figure out how to make all of this work together. And to make matters more difficult: the user should be able to do all of this from any web browser.

More detail: I've contracted with a small corporation to write some bespoke enterprise resource management software. I intended to write the software with mostly Python and a PostgreSQL backend. About four months into my project I find out that IT is throwing a fit, because they weren't consulted about any of this. Apparently, the corporate division I'm working with contracted out to me because their IT department is so abysmally bad. This is largely true. The problem is, IT won't supply me with server space. Honestly, I would have quit right then, but I need the money and the guy that brought me on board is a friend I don't want to embarrass.

Anyway, my boss met with the head of IT and the compromise they came up with was giving me a SharePoint 2010 server (the complete package, not Foundation). This works for IT because they needed to justify the purchase. It doesn't work for me because I've never worked with SharePoint. I'm learning a lot about SharePoint, but it's really not made to do what I need it to. That being said, I'm pretty sure it can do what I need it to do, if I abuse it enough. I need to have a web-based system in which users can upload a spreadsheet, calculations can be done on the contents of the spreadsheet, and then reports can be generated from those contents. I could do this in C#, but I'm not sure how to do it in SharePoint. Nor am I sure how to make C# to play with SharePoint. I don't have command line or ftp access to the server.

I am sure that IT is trying to sink the project. I'd like to see it succeed. Any suggestions?

share|improve this question
    
As a side note, SharePoint isn't as scary as you might first think it to be. To make C# play with SharePoint install visual studio and SharePoint on the same machine, you get new project options. You can also install something called SharePoint designer, which you can use for basic workflows. Look up "Visual Studio Workflow tutorial" and you can start from there. It really is easy to pick up after that. I would also get a copy of SharePoint Manager 2010 from Codeplex, this will help you understand the object model and debug things easier. –  Hugh Wood Nov 15 '12 at 10:18
add comment

1 Answer 1

There can be many approaches for this particular job (I bank on your statement that you can do this with C#) -

1) Write a custom workflow, when a document is uploaded to a particular document library the workflow triggers

2) Write a custom web part with upload control, when user upload the document you can do all the calculation and accomplish the job

3) Write an event receiver on the document library where excel file will be uploaded (you will need ItemAdded event)

Now based on your requirement choose any path and start googling to know how to write basic workflow, web part or event receiver, all does the same job but see whichever you find easier to create. Do you need to save the uploaded document to any particular library? in that case workflow or event receiver can be more suitable but if you need the document just to process the data then I guess you can write a custom web part, that will be simpler. Just check how to create these things with C#. Please let me know if I can help you any way.

share|improve this answer
add comment

Your Answer

 
discard

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.