Display Excel 2007 Document in Browser using COM - c#

I want to display and edit MS Excel File from client side using ActiveX COM object. The user would be allowed to edit the file and save it to local PC. Then It can be uploaded to remote server.
So, can you give me some example of displaying Word, Excel, Powerpoint etc document in Internet Explorer 8.0 using COM. I could not find such ocx files for that purpose . Can you help me finding it.
Thanks
Maksud

I think those controls would violate the MS Office distribution or EULA licensing agreements with Microsoft. Since an ActiveX control that emulates Word, Excel, PowerPoint would potentially give unlimited and anonymous users access to the software without paying for it. There's other Microsoft technologies that allow you to leverage the end-user's MS Offices licenses that allow them to save back to the web server. I think WebDAV used to be used (http://technet.microsoft.com/en-us/library/cc781730%28WS.10%29.aspx), I don't know what's out there now, but I'm sure there's a solution.

I wonder if the use of Google Docs would solve these issues. I'm pretty sure there's a way to leverage some sort of mix of Google Docs and the associated APIs to do something akin to what you are trying to do. I admit this isn't quite a perfect match for your goals.

This sounds like a use case that Office Live Workspace was created for. It's free, it's collaborative, and it allows you to determine sharing permissions.

Related

Is MS office required on server to use Microsoft.Excel.interop

I have created a merge excel program in my application using Microsoft.Office.Interop.Excel. But when deployed on IIS server I am getting error. Regarding that error I searched many articles and tried but got no successfs. So please can you verify this?
It is required.
But, you should not use Office interop on a server. The problem is that Office apps require a graphical user session to work properly. On the other hand, Windows service apps and IIS run without one. This is officially not supported and not recommended. If you do, you will encounter random crashes and resource leaks.
If you want to generate or modify Excel files, use OpenXML SDK.
EDIT: You may want to use Spreadsheet Gear. I can recommend it from personal experience in a web-app that manipulated existing Excel sheets with complex formulas.

Ability to edit Word documents with a .NET web application

I've been asked to give users the ability to upload existing Word documents or to create a new Word document within our application as part of editing a mailing template. The editing should occur within a frame as it would be part of a large page.
Are there third-party components for the import and UI or even better does Office 365 allow this type of functionality?
You can use Office Online to integrate view/editing of office documents. For more information see Integrating with Office Online.
The end solution, which is robust, secure and high performance was to use IT Hit WebDAV Server for .NET.
https://www.webdavsystem.com

.net API for managing pst files

I have an old PC on which i have a large pst file , and i have the idea to write a small C# program to spilt it into smaller files so that i can better manage them if needed ( i know that sounds weird and that there are also available tools in google but i thought it will be fun to play with it ).The problem is that i can't find good article or API info which functions are best suited ( if there are any at all ) for managing those files , Ideas ?
Thanks in advance
Take a look at Redemption API. This API does not require Outlook to be installed (only stand-alone MAPI) and does not require outlook to run.
First just a clarification by PST file you mean you outlook information?
Running on that I know of no API to manipulate it but you can get the documentation for it at http://msdn.microsoft.com/en-us/library/ff385210(v=office.12).aspx this is a large and complex specification for a binary format. Always play with a copy of it not the real thing.
One approach that might be better is using the ActiveX/COM interface provided by outlook to interact with this file abstractly, so instead of dealing with the physical layout of the file work with contacts, folder and email messages.
It may be worth your while finding out how open source mail clients (Like thunderbird) import from outlook. You may be able to pull there code out into an API, as long as you follow the licence conditions.
Not the easier answer, but it is the one I have.

Word document generation

Our product is going to support Word(and PDF) report generation, and I'm investigating on which techniques to choose.
Currently what I know is Word automation and OpenXML SDK. There are pros & cons of each.
Do you have any experiences, suggestions or comments about these two or any other techniques? Or is there any third-party utilities/products(may be based on the previous two techniques or not) we can use? We want to analyze as many possible solutions as possible.
If you have the choice I'd go for OpenXML any day of the week.
It has quite a number of advantages over Office Automation.
The most interesting one for me is the fact that it can run on a server, where Office Automation can't (because you need an instance of office on the pc/server running your software). That brings us to my second point, it doesn't need an instance of Office to generate your documents, where Office automation needs one. (This is because office automation will run an instance of office in the background and perform all your actions on it).
Especially when we are talking about large documents or being able to generate quite a few at the same time, OpenXML will perform a lot better than Office Automation because of this.
To make a long story short, Office automation is a thing of the past, openXML is the future ;)
If you want to dive into OpenXML, take a peek here: OpenXML Developer
Good luck !
For PDF generation I used http://www.html-to-pdf.net in past. This provides good support and I assume can be used to generate word documents as well... Check out there website...
If you are using Web forms, I faced one issue with HTTPS - which I listed the solution here:
http://blogs.msdn.com/b/sajoshi/archive/2010/12/13/using-pdfconverter-http-www-html-to-pdf-net-with-https-in-asp-net-mvc.aspx
Docmosis offers a cloud service that can produce MS Word and PDF output via a simple api. The report or document templates are either Word or Open Office documents which can be edited and maintained by non-developers. Once uploaded to the system your application can then simply call the service and specify the data to inject into the document(s) as either JSON or XML. The result is then streamed back, emailed, or placed in storage for access later. Output can be doc, pdf, or html.
The service offers a wide range of templating features and so supports quite complex reporting requirements.
The best thing we found was that cosmetic changes to the output could be handled by the document authors and not the developers which saved us heaps of valuable time (not to mention saving the sanity of our developers).
www.docmosis.com
If you want to build your documents in code, the OpenXML SDK is definitely the way to go. It is a very well designed API that makes full use of LINQ type syntax. One you're up to speed on it you will find it very powerful and easy to use.
With that said, you then have all the logic of your document in code. And change requires a change in your code and that tends to become a pain over time. If you want a system where you design the document in Word you've got a couple of choices - and Word automation is the worst. Even Microsoft says don't do Office automation on a server.
One of the best choices where you design in Word is Windward Reports (disclaimer - I'm the CTO there). With Windward you get the power and ease of Word for your design and new documents or revisions of existing documents don't require a change in code. Other products that take this approach are XpertDoc and SoftArtisans (although both of them do have a code component with each template).

Mail Merge with Open Office from C# .NET

I need to be able to mail merge from an ASP.NET web form in C# .net to Open Office. I can connect with OpenOffice and open a file but that is where things stop at the moment. I have a table of mail merge items that need inserting into a document for each client on my system but I can't find anything on the internet that helps me perform the mail merge or even how to set the mail merge up.
If anyone can show me a simple example merging forenames and surnames out of a database table into an Open Office mail merge form using C#, I would be very grateful.
Try looking in the Open Office Forum for Code Snippets. There are a lot of C#-examples and if you don't find something you can use, I would propose to post the question there (if you haven't already).
Documentation about MailMerge-Datasources is here.
You may find AODL ODF Toolkit useful. I use extensively the Java version to manipulate ODTs.

Categories