Embedding excel in a webpage - javascript

I have read from Microsoft here that I can embed an excel sheet in a webpage. I have also read where I can embed a visio instance. Does anyone know if I can create a website that uses an excel instance and visio instance that is unique to each user's experience and draws from their custom database.
For example: say I have a pre-formatted excel sheet with fixed columns and I ask for the user to import their report card, and they do so. The database stores their report card information and outputs it to the excel spreadsheet instance.
Is this a possibility or can I only embed one single excel workbook that will be linked to the master and can not be customized for each user's experience of my webpage/web app?
It would be really cool if I could do the same with Visio as well. I have tried to find an exact answer to this, but I can not get a clearly defined differentiation of whether or not I can get unique instances, or whether all must be viewing the same master document.

You may need some non-free office server product to be able to do that (edit excel docs online). That can be SharePoint, OneDrive for Business (which is basically just another name for SharePoint), or Office Online server (the underlying technology).
Given that you have that in place, the rest is pretty easy - you can create a document per user, and just display it in IFRAME (you can google "WopiFrame" on how to do that exactly).
On the server, in principle, you can bind your Excel sheets to Visio drawings. So that when you edit the sheet, corresponding Visio drawing view is updated. Keep in mind, that is probably possible within a single SharePoint site.
Means, from M$ side, probably the assumed approach could be, you embed Excel and Visio frames in a web page, then embed that page into a SharePoint site, then host that on SharePoint online, and then pay for that on regular basis :)
If you don't want SharePoint, you can still go with Office Online to enable Excel editing in IFRAME on your own site; but here you'll loose Visio rendering, as it's only available in SP. And you'll need to build you own API. AFAIK, viewing office docs is free, editing is not (requires end-user office licensing). In case you would like to go this path, you could start over here: https://wopi.readthedocs.io/

Related

How to edit pdf stored in a server by a webapp client?

The use case of this problem is very simple but i struggle to find a good solution for it.
I want to allow my users (through a webapp) fill some pdf files stored in server (pdf with forms, which begin more and more popular).
Actually, app like chrome or acrobat reader are able to fill them perfectly whe its open locally.
I already allow this functionnality for docx and xlsx files, for that i use Webdav and the custom protocols ms-word ad ms-excel. It works perfectly.
For pdf, I didnt found equivalent. Its look the mains pdf reader/editor doesn't implement this protocol. Whe we open distant file with these tools, they failed for write permission when save or they try to save the file locally) .
Another option i take a look was the new file system access api (https://web.dev/file-system-access/). But again i wasn't able to make it working properly. The main problem here is how we can edit the file.? Im able with this api to dowload the file locally and keep the filehandler to retrieve the updates, but i blocked on how i can edit the file ? like an option on the fileHandler to say "Open this file with default editor on the OS". this would be perfect. But for now to edit the file i have to manually open it on the eplorer. i can't ask my end user to do that there is too many risk they edit the wrong file.
Another option on the table is the different javascript library for editing PDF, but these last one looks all very expensive, usually very heavy on the client side, with advanced features definitively i don't need. I just want to fill the forms and retrieve the pdf completed. So i would like to avoid this option.
Last option i take a look, i already use pdf.js (from mozilla) and pdf-lib.js in my app for some drawing features. I was thinking
rendering the pdf with pdf.js
retrieve all the forms fields (id, type, size, position) of the pdf with pdf-lib
generate html input write on the top of the pdf with the informations given by pdf-lib
i let the users fill the input and click on a save button whe he finished
on the save, i edit my pdf with pdf lib, i set the value of all my forms fields by taking value of the corresponding html input, and i retrieved the pdf updated.
This solution look for me the more "feasible". But im afraid of the volume of development, on how it will render, deal with zoom, rotation, etc. i would like to not have my custom solution.
I precise my webapp target chrome so it make me crazy to not be able to use the chrome pdf viewer/editor to do what i want.
PS : i struggle to post this question on stackoverflow. the previous one was deleted witout i had precise reasons. i try to be more specific on this one, but please if its such a dumb question, please answer it
I feel your pain, this is currently not possible. Adobe acrobat can open PDFs from webdav locations (simply call acrobat.exe and pass in the WebDAV UNC and it will work) but there is no way to trigger this from the browser.
If you are able to deploy software to your customers machines, you could create a custom URL scheme to do this...

Collaborate on an Excel workbook integrated in a web app

In my company we work with excel a lot, and I have been writing excel macros in VBA to automate anything that can be automated, recently we needed to collaborate on some sheets and we used google sheets for that.
I then wrote a script that automatically protects cells when they're edited by someone and makes him the only allowed editor, with a button to clear protections when done. (+ for google)
We would rather work with Excel so I found out that it was possible to host a web app and use the JavaScript API to embed Excel worksheets with custom HTML and CSS, an example can be found here (VBA is not supported online)
Would it be possible to embed an Excel worksheet into a hosted web app, then allow different users to collaborate inside the web app, then automatically protect a cell when edited and make its editor the only one allowed to edit, then save the settings until next session?
By using for example the web app user directory or Microsoft Exchange Server for authentication.

Automate conversion of Html Page to MS Word Document, save, then load on client machine

I’ve been assigned a task, one which I’ve never done before, to generate a resume using data from our online job application web site, which a user client can display as a web page and then save to their local system in one of two formats, MS Word or PDF. The resume web page is a fixed layout which contains the clients contact information, education, work history and other relevant stuff. I already have a JavaScript plug-in for generating a PDF file on the client side, I’m now looking for a solution to create the MS word document on the client side and save either one to the client file system. The resume page is a single page with a fixed layout, customized only by data stored in the system for the user.
To see other details on the web applications follow this link: Express Professionals
Here are some of the more important requirements I have to take into consideration:
We are a Microsoft shop and use 3rd party solutions which adhere to those standards.
Windows Server 2012 R2 and IIS 8.5 - Forms Authentication - SQL Server 2012 backend
MVC4 internet application with Razor web pages
Bootstrap 3.0, JQuery 1.11, JQuery UI 1.8.24, OData 5.2
The application must be responsive from desktop to hand held devices
Target client browsers are IE 9.0 and up, Chrome 42.0 and up, Safari for MAC 8.0.6 and up - No commercial or 3rd party paid libraries or paid plug-ins. If I can’t find a free solution; I need to invent my own
No popup windows or other web pages to collect user input on where to store the finished document on the client machine
A single button click, one for PDF and one for MS Word, will take the Html resume page displayed, convert it, then save it, to the client’s machine in the chosen format, then launch the client app and load the document
The user can then decided where they want to save the file
If the resume page can’t be converted to the native client application file format, it can be saved to the file system in the next best compatible file format which the client application can read
Saving the converted file is OK, but it is preferred to launch the client application and load the converted file on the client machine as part of a complete process
SharePoint services or SharePoint Server are not available for use in solving this problem.
As I stated, I have found a JavaScript plug-in for creating the PDF, but for the MS Word document, I have only found bits and pieces which are unrelated, nothing in part or as a whole, which can be cobbled together into a working solution using our development stack.
Any references or links that match the requirements or suggestions which get me closer to an end solution are welcomed.
Thanks in advance….
After evaluating several open source solutions, the final choice was OpenXML for MS Word conversions. An MS Word template was created with the basic framework and then the OpenXML utility was used to create the class that builds the word doc. That class was customized to allow a data source to be added to the constructors and data added to tables in the document. DevExpress was used for the PDF conversions, since I don't know this tool the last part was handed off to another developer.

OneDrive shared link branding or changing layout

I am currently developing a RESTful based service where I call the OneDrive API to store and retrieve Word documents. I can also generate a so called "shared edit link (shared_edit_link)" or a "shared read link" (shared_read_link) which points to uploaded Word documents and this allows me to give the shared link to anyone so they can edit the Word document. Works great.
When you open the shared edit link you see the OneDrive online Word editor with the document with in the header buttons for signing in and sharing the document to OneDrive.
Question: is it possible to change the layout of the OneDrive Word editor with a custom logo/branding and/or is it possible to remove the buttons for signing in and sharing the document? I would like to only show the document with the Word functionality, preferably nothing related to signing in or sharing to OneDrive.
Short answer, no.
Long answer, what you want sounds like your own online document editor. So, it is certainly possible to get the document content via API and then insert that into your own custom editor that you built. But there is no way to programmatically alter the provided OneDrive/Office Online/Word editor to remove branding, etc.

how to embed a live excel spreadsheet in html

hi i would like to know how i can embed a excel spreadsheet in a web page and change the excel numbers on the hosted file and this in turn automatically changes the webpage sheet?
would like to know if there is a jquery, javascript, css etc code to help me out
for example, book1.xls will be uploaded to the server and index.html will reflect book1.xls as a table in it. when i update book1.xls, it should automatically show in index.html the changed cells.
thanks in advance
The simple way to actually connect to an XLS is through VBScript, but your server will have to support it (which most do).
Another way would be add an ODBC to your servers connectors pointing to your XLS or MDB or whatever Microsoft data file you choose and use JavaScript or any number of languages to connect to it, retrieve data, make changes, etc. The downside is that you must have Administrative rights to the computer hosting the file. You can use a homecomputer to use as server for that file only for instance and link it to your website, but it will affect loading speeds. This will however require you to take a closer look at your home internet security...!!!...but will enable you to make 'live' changes without going to your website. This method is often used for webshops and online catalogues, places where data can change on a daily basis but a database server is undesirable.
The simplest and easiest way is as mentioned before the use of GoogleDocs, but that will require conversion of the document. You won't be using your XLS as datafile. The downside here is that if you make any changes offline (not through the website) the changes will also not be visible, because you'll be editing a completely different file. So you'll need to convert and upload it to GoogleDocs each and every time.
As you can see the method used greatly depends on how often you plan on updating the data, how much traffic you expect and how secure you want it to be.
A "live" spreadsheet can be shown in a web page via an iframe containing a Google Doc spreadsheet. You cut 'n paste the iframe markup from Google Docs and drop it into your web page. The spreadsheet is editable in GDocs. The iframe view can be set to automatically update when the ss is edited.
Perhaps, this is too bland a solution. But it works. I use it all the time.
I doubt you can do that directly from an .xls file, but if you save your Excel file as .csv, you can read a .csv file via jQuery.
There's a plugin here that displays data from a csv file as a table: http://plugins.jquery.com/project/csv2table
The same/similar question is also asked in these posts:
Read Excel data with JQuery
How to parse an excel file in JavaScript?

Categories