Visual Studio Interface with MS Excel backend for Multiple Users to Run simultaneously - excel

Until last month, I was creating Google WebApps with HTML interface, Java and Google Apps Script to let the users save data to Google Sheets.
That was working beautifully as all the users were able to save data to a single spreadsheet simultaneously without any data misses/issues.
This month onwards, I don't have the option to use Google Web Apps.
Therefore, I bought Visual Studio. Basically, I am trying to create an Interface using Visual Studio as I have some experience on Visual Basic codes, and then looking forward to save the data to MS Excel.
I have setup an FTP drive where I have saved a test .EXE file which saves their clipboard text to a single Rich Text File(I used the timer to save/read/refresh the file every few seconds). Since all the users have read/write/execute rights to that FTP folder, they are able to launch the .exe file simultaneouly from their systems and it's working perfectly. We are looking at a team of 100+ people.
Now the next step for me is to let them open the .EXE file where the data can be saved to a single Excel file. With Google Spreadsheets it was way too easy. But I need some guidance on how to do that with Microsoft. I studied through articles and articles to track the last updated row and push the data below that. I need tips from someone who has done something like this and if there's a better/efficient way of doing that.
Any help/article would be appreciated.

Related

Access worksheet names from Excel file with Google Apps Script (without Drive.Files.insert)

In a Google App Script attached to a Google Sheet, I have the file ID of an excel file. I want to read the worksheet names of that excel file. The tutorials I've seen on conversion load the excel file as a blob then write it to Drive as a Google Sheet, then read it.
Is there a way to do this that does not to create artifacts that I then need to delete? The reasoning is that I am concerned with the following: safety if there's a bug (the wrong thing gets deleted), additional processing time (I need to process a long list of excel files), and leftover artifacts if the script aborts unexpectedly between inserting and deleting.
Thank you!
Answering your questions, the reason the tutorials first convert the Excel file to a Google Sheet is to interact with it (in your case, to gather the worksheet names) it's because the Google APIs or Apps Script cannot interact with the Excel file as row data, and Google needs to convert the file to something readable using Google APIs.
A workaround for this will be to use Excel JavaScript API to read the information original Excel file, you can use externals API in Apps Script since it's based in JavaScript, so you will use Apps Script as an IDE.
However, you can do the same with any other IDE that works with JavaScript.
There are some examples on how to list the worksheets using the Excel JavaScript API in this blog.
If you will like to keep using Google APIs, and using the Google Apps Script built-in services. You will need to convert the file to Google Sheets.
Updating Answer:
You can review more about the Excel Services API services here.

How to connect excel to sharepoint and allowing multiple users to use the excel file

Alright, here's a difficult one for all the excel champions out there!
I'm making a time registration system for a small company. It contains one excel file with a list of all the different work tasks in the company. Now every employee has their own excel file, where they are to register the hours they spend on the individual tasks. The challenge is now to get the employee files to load the work tasks from the work task list document. Sounds easy!
The challenge is that all files are placed on a sharepoint drive. I've succesfully connected the registrations files with the work tasks file through my own sharepoint login, and everything works fine on my computer. Now when another employee opens their excel file for registration on their own computer, they are prompted to connect to sharepoint, however this somehow never succedes. The connection needs to be between two sharepoint files, which everybody can access, and not be dependent on any specific user logins.
Any ideas of how to make this connection in the right way?
What I'm doing right now is; Data -> Get Data -> From File -> From Sharepoint -> nameofcompany.sharepoint/site/nameofsite
And then from here I do the data transform needed.
I really don't want to make one huge excel file containing all the information, but dealing with sharepoint is driving me nuts...
Hope anybody can help!

Office JS API: last saved time?

I develop a Javascript Office add-in which can run on Word, Excel and PowerPoint.
One of the features of the add-in is to suggest user to upload current file to our server if the file have changed and/or saved since the last successful upload.
I had some luck with document.properties.lastSaveTime for Word application: https://dev.office.com/reference/add-ins/word/documentproperties?product=word
But this API is Word-specific and is not available for other hosts.
Is there a way to get the date of last file change (document, workbook and presentation accordingly to the host application) using shared API, that is, API available for all three hosts?
If such shared API functionality doesn't exist, even some clue of how to get last changed date of individual hosts' files would be helpful.

How to change the Excel Online data programming

I want to be able to edit Excel file on Mobile device currently, we upload the excel file and display the file on Excel Online in WebView, but it seems that only iPad can edit it online, but not iPhone or Android phone.
I have tried to use SharePoint online, but I found that it only can edit data but cannot save data on server. Meanwhile it looks not pretty as Excel Online.
We just want to use Excel online and find a way to modify data programmatically from the application code like via rest or javascript injection.

SharePoint Online file storage

We have a requirement to store documents in SharePoint Online as people copy files to a shared network directly.
Is there a way of automating this? I was thinking of a windows service which will poll the directories, find any changes like new subdirectories or new files, then upload them to a SharePoint Online document library.
You don't have to poll if you use a FileSystemWatcher inside your Windows service for real-time notifications.
http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx
However, if your requirement is 100% accuracy, you will need to build in some sort of tracking/checksum mechanism to make sure that every document was 1) detected and 2) successfully moved to SharePoint.
You may want to have your service check the delta every time it starts up, and then subsequently only respond to FileSystemWatcher events.
EDIT: Per Tony's question below, here are some additional thoughts on getting files to SharePoint.
First, try a simple test.
1) Copy the URL of a document library within the BPOS SharePoint site. Make sure you're on a machine that has the Office Online sign in app on it.
2) Open Notepad. Type some random text.
3) Click on File -> Save As.
4) Paste the URL.
5) Attempt to save the file.
This works great on "regular" SharePoint (done it many times). If this works with BPOS, it opens up several options.
File System Replication to a SharePoint Online or Office 365 document library is planned to be released with the "Cloud Connector for Office 365". With the current version database content is supported only, but bi-directional with V2.0

Resources