I have done searching on to generate report from share point online.
You can generate report from share point online list item using CSOM.
Using console application you can access all the list item and manipulate as you want.
You have to add "using Microsoft.SharePoint.Client;".
You can get web using below function .
var Test = new Program();
Test.GetWeb(context, web);
function getWeb()
{
context.Load(context.Web, w => w.ServerRelativeUrl);
context.ExecuteQuery();
Console.WriteLine("Connection Established...!!! ");
}
You can use Linq to connect to online sharepoint.
function getList(ClientContext Context, Web web)
{
ListCollection oList = web.Lists;
Context.Load(oList, List => List.Include(list => list.Title, list => list.Id));
Context.ExecuteQuery();
foreach (List li in oList)
{
// Your code to manipulate
}
}
function ListItem(ClientContext Context, Web web)
{
List SelectedList = Context.Web.Lists.GetByTitle("**Your List Name**");
CamlQuery query = CamlQuery.CreateAllItemsQuery(100);
ListItemCollection listItems = SelectedList.GetItems(query);
Context.Load(listItems);
Context.ExecuteQuery();
Foreach loop on ListItems
{
// You html code to generate Report
}
// Pass HTml string to third party tool Winnovative.
}
Using Console application you can generate PDF file of your list item in your format with sharepoint online.
--> You have to call console application using Azure timer job or manually.
--> Set your DLL of Console application to the azure machine and set regular time when you want to generate the PDF .
--> This is solution to get data from SharePoint online and generate PDF report on this .
Try it and let me know if you will get any new information regarding it.