What are my options for editing Word documents? We have a hosted business web application (written in C# using javascript libraries and webapi2) and our users would like some basic document management functionality. From within our application they would like to complete documentation which currently resides as Word 2013 documents.
Is there something that would allow us to upload a docx file, convert to some web friendly XML format that would allow online editing or can Office Web Apps be used directly within the browser for Word edits if the client has a valid Word license? Is SharePoint online integration an option? Or, is there an option out there that I am not aware of? Any direction would be greatly appreciated!
To complete your task, you can use the DevExpress ASPxRichEdit and ASPxSpreadSheet controls. They support the most popular rich text and spreadsheet formats (including MS Office documents).
Both controls are web-based (ActiveX isn't required), standalone (you don't need to integrate external services in your application) and work in all modern browsers. Also, they have the built-in filemanager, so you can use them with minimum coding.
Moreover, both controls are distributed as a part of the ASP.NET controls suite, which includes a lot of other web components.
If you're client have the correct licenses and that you already have a solution develop that have the basic document management features like upload documents, download, etc. Then I would opt for the Office Web Apps. This solution requires some reading and a certain architecture (it's own server for instance). But it is probably one of the best Word Document editor currently out there. You can find the basic information of the Office Web App server 2013 here
These approach will let you either use a sharepoint integration or a custom WOPI-Host. I've analysed and searched for different tools and other the Google Docs, this would be the best option currently out there.
If you actually take the Office Web App server approach with a custom WOPI-Host you can find several WOPI-Host samples on the internet:
MVC6 WopiHost based on marx-yu's WOPI host
Building an Office Web Apps (OWA) WOPI Host
As I know, Google Docs can help you on your issues, but you just cannot build it in your web Apps. And aceoffix can be an alternative too, which can enable your web project edit Ms Office documents full functionally.
Related
Is there any component to allow end users edit "Content Controls" in a C# Windows Forms desktop application?
I have many complicated Word Documents which are ready for edit and can't create all of them on runtime.
I searched stackoverflow but didn't find anything
Thanks
you need to use .NET Word component
which is easily installed in VS using
https://www.nuget.org/packages/FreeSpire.Doc/
then you need to include following namespaces
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
after this you can easily create a new word document , add sections and / or paraghraphs
Document document = new Document();
Section section = document.AddSection();
Paragraph paragraph = section.AddParagraph();
Hope this is what you are looking for
You may consider using the Open XML SDK if you deal only with open XML documents. See How to insert text into a content control with the Open XML SDK for more information.
A big plus is that SDK doesn't require Word installed on the system. Also such code can be used on the server-side without any issues. Be aware, Microsoft does not currently recommend, and does not support, Automation of Microsoft Office applications from any unattended, non-interactive client application or component (including ASP, ASP.NET, DCOM, and NT Services), because Office may exhibit unstable behavior and/or deadlock when Office is run in this environment.
If you are building a solution that runs in a server-side context, you should try to use components that have been made safe for unattended execution. Or, you should try to find alternatives that allow at least part of the code to run client-side. If you use an Office application from a server-side solution, the application will lack many of the necessary capabilities to run successfully. Additionally, you will be taking risks with the stability of your overall solution. Read more about that in the Considerations for server-side Automation of Office article.
I would like to use Excel functionality from a browser. I currently have an excel based Microsoft office application. It adds an icon to the ribbon and does C# based custom application logic to communicate to a database server.
Since it requires application releases for any changes in the schema I am curious if I can convert this into an web application and still benefit from Excel's built in functionality.
I am expecting this to be possible since Microsoft Excel Online is run inside a browser. My question is, is it possible to add plugin to such online excel document? If yes, any example would be much appreciated.
You absolutely can, and depending on approach you can do so with nothing more than a VSTO project template. This is little more than a ClickOnce application. This can launch a browser within a window to perform the logic.
You may use the Office Interop assemblies to decouple your application from Office apps, yet still communicate easily. Make sure you set Embed Interop Assemblies to true once added as a reference.
For those using Office in the browser, it seems as though Microsoft is shifting into CSOM/JSON/REST, meaning this solution is coded entirely differently than COM. This should help you get started:
https://msdn.microsoft.com/EN-US/library/office/dn268594.aspx.
I am learning to develop universal windows 10 app using visual studio 2015. I want to implement a function to create an Excel file then write data in this excel file, in my app. I try to develop it in C# adding reference Microsoft.Office.Interop.Excel.
Generate Error: Missing compiler required member System.Runtime.InteropServices.LCIDConversionAttribute
Search this error and find windows store apps doesn't support Microsoft.Office.Interop.Excel.
I am not able to create Excel file. I do not want to use any commercial library (like syncfusion) for this.
How Can I create Excel file in Universal Windows App or in Window storeApp? Please request to tell me any solution.
Thanks
You will not be able to use the Excel interop libraries in a Windows 10 Universal App. The interop is only available on Windows Desktop, and also requires a dependency on another software (Excel) to be installed on the machine. Both of those are somewhat against the spirit (and more importantly, the technology) of the Universal app.
That being said: If all you need is to generate a file (rather than display it), the general solution is to use something like the OpenXML SDK, which also has the advantage of not requiring Excel on the running machine. Admittedly, the OpenXML SDK doesn't look like it's available for the Universal platform either (see here), but you may find a 3rd-party component that is. Or, if you are OK with requiring internet connectivity, you could create a web service that you send data to, and that processes it and creates the file on your behalf (quite a common pattern, with the additional advantage of protecting your intellectual property behind your own web server). The Interop libraries are much more about automating user actions, are were initially build more for use with VBA/VSTO/COM add-ins, where the interactivity was very much part of the experience. If all you're doing is using the Interop to drive the creation of documents, OpenXML would be the better way to go.
Hope this helps!
I've been developing a web application with asp.net webforms and in this app I have some documents (.doc, .docx, .rtf files), and my client want to edit these files on browser, they want to open a document in an editor, edit, save it on server (without downloading) and close it. I know it's difficult but I would like to know if it's possible or if is there any easy way to do it. We find something like SkyDrive of Microsoft.
PS: We can pay for components if you can suggest something that really works.
Thank you!
IF the clients have Office installed:
I would recommend http://www.webdavsystem.com/server - this allows you to build a "virtual filesystem" (WebDAV which is based on HTTP) which Office can access thus allowing the client to open/edit/save a document (DOCX etc.) via HTTP(S)... it is pure .NET, integrates nicely with ASP.NET and has even a JavaScript accessible API... esp. the upcoming V 3 comes with a wizard which allows you easily to add that funcionality to your ASP.NET application... (just a happy customer, not affilliated).
IF the clients don't have Office installed then it gets tricky:
To really fully support you would need some sort of Silverlight/Flash/ActiveX/JavaApplet which runs in the clients browser and supports the needed editing features...
I am not aware of such production-quality components except the ones from Microsoft - see http://www.microsoft.com/en-us/office365/online-software.aspx
You could integrate them into your web application although they won't offer the full Office feature set in the browser...
I need to design an in-house server-based system that will store hundreds of thousands of files (images, spreadsheets, text documents) with users accessing metadata as well as files remotely. What are my options? ASP.Net MVC or WinForms with WCF service? I am really stuck here because I am a newbie.
Any advice will be appreciated. Thanks in advance.
My first advice would be: Don't.
Plenty of people have implemented very complex and feature complete Content Management Systems, so don't reinvent the wheel. Additionally many of them have lots of extensibility points so you should be able to customize it to the needs of your organization.
Take a look at Alfresco, its open source and should provide what you need
Sounds like you need SharePoint ( also SharePoint ).
SharePoint ( WSS ) edition is free and very extensible using .Net.
The new Sharepoint Foundation 2010 replaces WSS 3.0 for Windows Server 2008. It can be downloaded from the Microsoft link above.