Can you pull data from a spreadsheet that is security protected? - excel

If our finance department wants us to create a web app that pulls data from a spreadsheet calculation, based on user input, but also want that spreadsheet to be private from all developers working on the app, is this possible?
How do companies launch an app with sensitive information that they want to protect?
Can you access data from an excel spreadsheet that is security protected?

Easiest way to develop such an application (this is a high level answer of "how do develop an app when you can't see the classified or protected data" not "how do i make a web portal with an excel backend") is to get "dummy" data.
You make the dummy data just as protected, but give the developers the ability to see the data on the other side of the wall. You make sure the datatypes are the same (the only thing different should be values) and go from there. That's the easy way. After the app is developed with the dummy data, it's deployed and people with access to the data "connect the pipes" and away you go.
As to using an excel sheet as a backend to a website..please look into MySQL or MSSQL or some other database solution. The developer coming after you will thank you.
If you can't because of management..ripping open an excel file directly is not for the faint of heart, but microsoft does provide an api to access the insides. I've done it once..and don't remember how to off the top of my head, but perhaps someone more skilled remembers the api. The easier road is to have that workbook output to CSV (which is easily parsed).

I would recommend the excel workbook update a table that you apply whatever security scheme you need to on. Also you can put the workbook in a location that only those with proper rights can access.

If the user input is limited to a a field or two and the values are for easily determined values that doesn't span a huge range, then create a lookup table. In this table, you would store the results for all possible combinations of input values. This would allow for you to not putting the Excel spreadsheet on the Web server.

Related

Is it possible to get data from a webpage in real-time to an excel file?

I would like to create an Excel Tool that would act as a Monitoring Tool for our agents on the floor.
Right now we don't have an exclusive WFM tool that would monitor and call out agents with their activities and productivity, the only thing we have is a dashboard to view all agents status and the durations of their status or calls. This is a web-based viewer of our dialer that would only shows agents with their current status but they won't trigger or notify if an agent is going over our set thresholds for their wrap up time, over breaks or lunch.
Currently, I have an existing excel file that would look up values from another sheet to populate the table with information that I need such as the name of agent, their current status and current duration of the call.
The another sheet I've mentioned above is a blank sheet where I would simply paste all the data from the webpage of our dialer. So basically I am just doing copy-paste method where I am selecting all the contents from this webpage which is our dialer and pasting it in on the blank excel sheet that I created and the table that I made will find all the values that I setup from that blank sheet.
I really don't have enough knowledge but I still tried Data>Get Data>From Web and I am not getting anything.
I tried pasting the web link, but I don't seem to pull up any data.
I know as I've mentioned, I don't really have enough knowledge and maybe I need some basics doing this method.
What I would like to happen is if there's a way to link a webpage, sync its data to an excel sheet and is it possible to make it real-time so that way I can have an improvised WFM Tool that would help me monitor our agents activities?
Thank you in advanced!
Getting data from the Internet through a standard mechanism (Data >Get Data > From Web) is not always successful. Excel can recognize tables on a web page, but not always in the way that the human eye recognizes them.
Actually, there are two options here:
write a macro that parses specifically those pages from which you are currently getting data manually (“…I am just doing copy-paste method…”).
prepare web pages so that data from them can be automatically downloaded via Data >Get Data>From Web via standard Excel functionality.
Both require programming specifically for your task.
For example, I could write a parser, but for this I need access to the web page from which you are copying and pasting.
Or the programmer who wrote the web page can create new pages with the same data, but in a format that Excel understands. But this programmer needs to specify exactly how to design web pages.

Same spreadsheet structure and formulas but different data

I have a dozen spreadsheets with identical structure and formulas, essentially tables, only the data differ, say one spreadsheet per country.
For example there is a spreadsheet to manage the US employees, another for the UK employees, and another for the Canada employees.
They are exactly the same except that each will store a different set of employees.
The spreadsheets act both as a database to store data and a user-interface to interact with data.
Each change (updating or adding a formula, updating some drop-downs values, changing style...) has to be replicated in all the spreadsheets which is time consuming and error-prone.
As an example I could change the formula to compute the seniority of each employee by editing the 3 spreadsheets.
I was wondering if there was a reasonably simple way to avoid duplicating the common parts, only having different data.
I'd like to avoid a full-blown development with plenty of VBA code, a complete database, some user input forms... but if really necessary I can write some VBA and build some database to fill in the blanks if there is no out-of-the-box solution.
With a full-blown development I would do something like:
store all the employees in a single SQL database table
develop a single spreadsheet
when opening the spreadsheet ask the user to choose a country to only load the this country's employees
save the data changes to the database
If you're effectively talking about an efficient way to handle version control so that input sheets that have previously been distributed to users match a master template, then I'm afraid there is no out-of-the-box solution.
I use something along the lines of http://datapigtechnologies.com/blog/index.php/building-version-control-in-excel/ to force users to download the latest template should they be using an older one.
In addition, I also place a big note at the top to prompt users to download a new template each time, rather than recycle an old one, because if a user didn't enable macros the automatic download of the latest template won't kick in.
Note that the above screenshot shows a form that I've built in Excel's grid itself, using shudder merged cells. (i.e. It is not a userform)
If the templates need to preserve user-submitted data that isn't held centrally, then you're probably going to need to develop an add-in along the lines of what the authors do in the book Professional Excel Development.

developing a front end app using excel spread sheets

We get at least 20 queries a day on an average from our clients, where in we have to open and look at data on 4 to 5 Excel sheets to answer them. questions such as what is my available balance, am i eligible for this etc. All our clients are connected to our intranet and have access to internet. I was wondering is there a way where we can develop a front end app (do not have budget for MS VB or any other) either in excel or any other to connect these 4 to 5 excel sheets to retrieve the data in response to queries (e.g. using perhaps some if and true/false queries). I am not an advanced Excel user but would be great for an advice from tech experts.
Yes, i wouldn't call it an app but consider a worksheet like a dashboard. You can have a cell for entering client name, and then use formulas to look up relevant information of the name entered. The cosmetic and arrangement of the information retrieved and published on the dashboard is up to you and of course do consider investing some time in the looks and feel if you want to enjoy using it.
Things you may consider are:
Place the files are kept and file name convention
because your dashboard will look for information in external workbooks, ensure that the files are saved in a fixed directory and have a specific file name. if the external files are updated from time to time by other folks, let them know too that they have to save it in a particular folder with a specific name format.
Properly structure the source of data
Format you data source into tables so that it is easier for use with formulas. Throw away titles if any in the data source worksheet. Use tools like "Table" under the INSERT tab. When data are properly organized, they can be easily looked up using formulas such as VLOOKUP, SUMIFS, MATCH-INDEX, and COUNTIF.
Be good with formulas
Since we have no budget for VB, then good formulas will be needed. There are plenty of help on the internet for this I think you'll have no problem in it.
Employ sanitary check measure
It is difficult to tell if our formula isn't functioning properly when we have no counter check measure. Certainly you want to give your clients accurate information. One way to check is, think of alternative ways to get the information wanted and check if it matches to the first way. Another way is to retrieve a sequence of related information to be put on the dashboard, then do simple calculation to check if the numbers add up. Use conditional formatting to highlight errors if necessary.
I think these are key consideration, there may be more, but this is what i can think of for the moment.

Exporting Access data to pre-existing and pre-formatted Excel spreadsheets

Good day all,
I am very new to Access and VBA, so some of these questions may seem elementary, but any help offered would be greatly appreciated... I am a member of a recruiting organization, and am trying to build a database system that will greatly increase our administrative efficiency and quality of life. My organization insists on the use of Excel spreadsheets that are supplied to us to document our efforts and for our reports, thus ruling out the possibility of using the reports from Access. I have the underlying database pretty well ironed out, but what I need help with is taking that data and putting it in specific cells within an existing excel spreadsheet. Specifically, what steps do I need to tell access to do, how to select the appropriate worksheet, and how to select individual cells to send data to. I also need to link all of this to a button on a form labeled, say, "Generate Applicant Log"... Additionally, I would like both the database and all applicable template spreadsheets we would need to be located in the same folder that I can lock, so that I can send the whole folder to another user and all necessary files are included, but they can't get into the folder to mess with stuff. I am concerned this will affect whatever coding I would use due to the changing file path names from user to user, so any help in figuring out a way to tell access how to find the spreadsheets relative to where the database is so it always works no matter who's computer the folder is on or where it is at in the same computer, would also be greatly appreciated... I apologize in advance for the length of this inquiry, and graciously appreciate any help in this matter! Thank you for your time!
Rather than send data from Access to Excel, it is easier to pull data into Excel from Access. In Excel, on the "Data" tab select "from other sources" and build a Microsoft Query. I like to put the data into a spreadsheet and link the data into the sheet the user will see - I hide the original sheet. This way you can put all of the data into the hidden sheet, and then move things for the reports you need.
Using this method, I bring measurement data from a database, show it to users that need to review it, and run VBA routines to evaluate the data and highlight the interesting / important data. I also keep the users out of the original database.
I have my database on a server and I cannot offer help on sending the database and files to the user. I just send the file - they have access to the server and the data is refreshed each time the spreadsheet opens.

Creating a table in Excel

I was working on project for my company. The requirements are to create an excel report at the end.
The way I am currently coding/thinking.
Remote Server ---> Local Access table --> give user a UI to filter data however they want --> Export to excel.
However, one of my analysts asked me if we can stay away from access and use Excel only. So I was wondering, is there a way to create a "table" like access table in Excel? This way, when I import data from remote server, I can put it in a table (IN EXCEL), create a form for UI, and have everything contained in one file.
I can't paste the raw data into a sheet because of performance issues (however, I have not tried it. I just assume that it is a lot faster to query a 'real' table then to search through excel cells).
Can you think of a alternate solution?
One option is to use Microsoft Query to directly access the remote database. In this case, the users would need to use the UI of MS Query (which isn't the prettiest) for filtering, but it would get the job done without needing the intermediate database.
Here is a good reference from the Microsoft site.

Resources