Super User is a question and answer site for computer enthusiasts and power users. 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

I want to allow someone to look at a spreadsheet I have.

Is there a way to share it (via skydrive etc) but be able to stop the person from saving the data to his machine or print it out?

I would like someone to be able to "play" with my Excel spreadsheet - draw charts and enter formulas etc. BUT not be able to download the spreadsheet, or copy or print the data.

I just want to make it difficult. I understand that somebody can screen-capture and OCR anything. BUT just stopping a simple copy&paste or download would stop most of my users.

share|improve this question
Give us more info. What spreadsheet? Excel? Is printing to PDF not enough because e.g. you want them to see the formulas? Is password protecting the sheet not working? Edit your question please. – Jan Doggen May 24 '13 at 10:21
@JanDoggen Please see edit to question – ManInMoon May 24 '13 at 11:36
If they can see it, they can print it. – daxlerod May 24 '13 at 13:34
up vote 3 down vote accepted

Let me show you a number: 15. However interesting, I want to emphasise that this number is mine. You can look at it, but nothing else. No writing it down, no incrementing, no telling a friend about my number, nothing. Of course, I can enforce no such policy. You can write '16' on a piece of paper and hand it to your friend; it's completely out of my control.

An Excel file is just a (collection of) number(s). Probably bigger than fifteen, but the argument is the same. If you control the ink and the paper, you can print any information you can read. As long as you have free space on your hard drive, you can copy all the data you can access.

Depending on the desired level of interactivity, it may be possible to not show the spreadsheet at all. Instead, you could collect the user's input and send results of a server-side calculation back to the client. Spreadsheets are generally not very suitable for this, though, and I know of no simple way to provide the level of interactivity that allows the user can draw his own charts. For that, you may have to hand out the Excel file and be okay with people having the ability to make copies.

share|improve this answer

About the best you could do would be to present an image of your spreadsheet, distorted like a Captcha and/or on a noisy background (to make OCR more difficult). You can't prevent someone printing a screen image or manually keying in the data.

share|improve this answer

The closest thing you can do is "Lock" or Protect your worksheet.

Use Lock and Hidden (under Format Cell - Protection) and then Protect your Worksheet.

It will hide your cell data so people can't just select them, but nothing preventing them from re-writing it down of course.

And since it will only protect 1 sheet, you can protect the single sheet with your data on, and leave another sheet unprotected for people to make formulas, or create graph / chart on the 2nd sheet. but they can't mess with the first protected sheet

share|improve this answer

There is a way to do it, but it's not simple. You could convert the spreadsheet into a web page, and serve that. There's a library to do just that: Excel to Code. You can see an example of it working in the DECC 2050 model code, which converts the innards of an excel spreadsheet into a C library, and also creates the ruby infrastructure to call the C library, and to build interface elements to it. (NB github's being a bit weird at the moment - if you get a 404 from any of those links, click in the browser address bar and hit enter) (disclosure - I have made tiny contributions to those github projects)

Now, that takes us well out of the scope of SuperUser, and into Webapps / Stack Overflow territory, but it is the route that would enable you to do what you want to do: to allow users in web browsers to play with relationships expressed in a spreadsheet, and see the results, without having access to all the algorithms contained in the spreadsheet itself: all the calculations live on the server.

You can see my version of the DECC 2050 application here. That's been automagically generated from an excel spreadsheet, by my fork of the above DECC 2050 model code.

share|improve this answer

In looking for possible solutions, the direction I went in involved googling for "render excel spreadsheet in browser". It seems that others have tried to do similar things with mixed results, one problem being that the browser ends up downloading the excel file, which is exactly what you don't want.

Have you considered looking at something like Zoho? Zoho will allow you to protect the spreadsheet so that the data cannot be exported. Google Docs didn't allow this level of granularity with protection before, but maybe things are different now.

share|improve this answer
I am looking at zoho now - but I can still copy and paste the data. How do I protect it? – ManInMoon May 24 '13 at 14:17 claims that it is possible -- when you publish, you have to uncheck the Allow Export option. – Dave May 24 '13 at 17:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .