<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Insert Data into sharepoint List in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Insert-Data-into-sharepoint-List/m-p/2267729#M46528</link>
    <description>&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;Unfortunately Talend doesn’t offer connector for reading/writing data from/to SharePoint lists! That’s a petty. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Most answers to this question are about using (the horrible) REST API via TrestClient Thttprequest or via tSOAP. But i never succeeded ! Some people did (without sharing enough details) but I am quite sure it wasn't with SharePoint online, where the main issue is about authentication!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 27 Aug 2022 20:39:25 GMT</pubDate>
    <dc:creator>AIjel</dc:creator>
    <dc:date>2022-08-27T20:39:25Z</dc:date>
    <item>
      <title>Insert Data into sharepoint List</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Insert-Data-into-sharepoint-List/m-p/2267728#M46527</link>
      <description>&lt;P&gt;All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have an excel sheet which is generated through Talend job, i would like to write the data from excel sheet into Sharepoint list.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have seen many forums, but i didn't get any useful information. Is there any whitepaper published by Talend to handle this kind of webservice calls.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Jan 2020 22:58:50 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Insert-Data-into-sharepoint-List/m-p/2267728#M46527</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-01-23T22:58:50Z</dc:date>
    </item>
    <item>
      <title>Re: Insert Data into sharepoint List</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Insert-Data-into-sharepoint-List/m-p/2267729#M46528</link>
      <description>&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;Unfortunately Talend doesn’t offer connector for reading/writing data from/to SharePoint lists! That’s a petty. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Most answers to this question are about using (the horrible) REST API via TrestClient Thttprequest or via tSOAP. But i never succeeded ! Some people did (without sharing enough details) but I am quite sure it wasn't with SharePoint online, where the main issue is about authentication!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Aug 2022 20:39:25 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Insert-Data-into-sharepoint-List/m-p/2267729#M46528</guid>
      <dc:creator>AIjel</dc:creator>
      <dc:date>2022-08-27T20:39:25Z</dc:date>
    </item>
    <item>
      <title>Re: Insert Data into sharepoint List</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Insert-Data-into-sharepoint-List/m-p/2267730#M46529</link>
      <description>&lt;P&gt;I have been struggling for a while with this issue! And good news I have a workaround!&lt;/P&gt;&lt;P&gt;Let me share : the idea is to not try to write the flow on SharePoint directly, but rather do it on a macro enabled Excel file!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Step1: Find the LISTNAME. To do so:&lt;/P&gt;&lt;P&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Go to SharePoint and export the list to Excel &lt;/P&gt;&lt;P&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;You will get a query.iqy excel file&lt;/P&gt;&lt;P&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Open the excel file &lt;/P&gt;&lt;P&gt;4.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Open the connection properties Data-&amp;gt;Connections; select the connection; click on properties; choose the Definition tab.&lt;/P&gt;&lt;P&gt;5.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Under Command text field you can see a code similar to the following&lt;/P&gt;&lt;P&gt;&amp;lt;LIST&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;VIEWGUID&amp;gt;627A4BFC-E5EC-48FD-824E-B50177207663&amp;lt;/VIEWGUID&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;LISTNAME&amp;gt;{A5DD8F4A-7940-4F29-9212-37A341190000}&amp;lt;/LISTNAME&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;LISTWEB&amp;gt;&lt;A href="https://hpe.sharepoint.com/teams/cmsdata/_vti_bin%3C/LISTWEB%3E" alt="https://hpe.sharepoint.com/teams/cmsdata/_vti_bin%3C/LISTWEB%3E" target="_blank"&gt;https://xxx.sharepoint.com/teams/yyy/_vti_bin&amp;lt;/LISTWEB&amp;gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;LISTSUBWEB&amp;gt;&amp;lt;/LISTSUBWEB&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;ROOTFOLDER&amp;gt;&amp;lt;/ROOTFOLDER&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/LIST&amp;gt;&lt;/P&gt;&lt;P&gt;6.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Copy the LISTNAME ‘A5DD8F4A-7940-4F29-9212-37A341190000’ and keep it&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0695b00000UxtjYAAR.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/131996i51EB3D926EF1F991/image-size/large?v=v2&amp;amp;px=999" role="button" title="0695b00000UxtjYAAR.png" alt="0695b00000UxtjYAAR.png" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Step 2: Create a macro enable Excel file let’s call it MyList.xlsm&lt;/P&gt;&lt;P&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Create a worksheet called ‘MyList’&lt;/P&gt;&lt;P&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add the following 2 macros to VBA module&lt;/P&gt;&lt;P&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set in src(1) the LISTNAME you saved from Step1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sub ImportSharePointList()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim ws As Worksheet&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set ws = ThisWorkbook.Worksheets("MyList")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim src(1) As Variant&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;src(0) = &lt;A href="https://hpe.sharepoint.com/teams/cmsdata/_vti_bin" alt="https://hpe.sharepoint.com/teams/cmsdata/_vti_bin" target="_blank"&gt;https://hpe.sharepoint.com/teams/cmsdata/_vti_bin&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;'DONT FORGET TO REPLACE YOU LISTNAME IN THE FOLLOWING LINE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;src(1) = "A5DD8F4A-7940-4F29-9212-37A341190000"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.ListObjects.Add xlSrcExternal, src, True, xlYes, ws.Range("A1")&lt;/P&gt;&lt;P&gt;End Sub&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sub UpdateSharePointList()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;Dim ws As Worksheet&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;Dim objListObj As ListObject&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;Set ws = ActiveWorkbook.Worksheets("MyList")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;Set objListObj = ws.ListObjects(1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;objListObj.UpdateChanges xlListConflictDialog&lt;/P&gt;&lt;P&gt;End Sub&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;4.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Save the file on the hard disk of Talend machine&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Step 3: test&lt;/P&gt;&lt;P&gt; Run the ImportSharePointList macro to get list data from SharePoint to Excel &lt;/P&gt;&lt;P&gt;And &lt;/P&gt;&lt;P&gt; Run the UpdateSharePointList macro to get list data from Excel to SharePoint &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Step 4: automate in ETL&lt;/P&gt;&lt;P&gt;You can do that now automatically by calling the macros from Talend&lt;/P&gt;&lt;P&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Create 2 VBS files on your file system. Let’s assume you put them under the location defined by the context variable ‘context.MacroPath’&lt;/P&gt;&lt;P&gt;a)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ImportSharePointList.vbs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim App, args, wb, fpath&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set wb = Nothing&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set App = CreateObject("Excel.Application")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set args = WScript.Arguments&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fpath = args(0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if fpath &amp;lt;&amp;gt; "" then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set wb = App.Workbooks.Open(fpath)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.ImportSharePointList&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.save&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Close&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end if&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set wb = Nothing&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set App = Nothing&lt;/P&gt;&lt;P&gt;And&lt;/P&gt;&lt;P&gt;b)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UpdateSharePointList.vbs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim App, args, wb, fpath&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set wb = Nothing&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set App = CreateObject("Excel.Application")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set args = WScript.Arguments&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fpath = args(0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if fpath &amp;lt;&amp;gt; "" then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set wb = App.Workbooks.Open(fpath)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb. UpdateSharePointList&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.save&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Close&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end if&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set wb = Nothing&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set App = Nothing&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;In your ETL process, add (where you want to call each macro) a tJava with the following code by replacing THEMACRO.vbs &lt;/P&gt;&lt;P&gt;	by ImportSharePointList.vbs&lt;/P&gt;&lt;P&gt;	or UpdateSharePointList.vbs&lt;/P&gt;&lt;P&gt;we assume that context.filepath contains the path to the macro enabled Excel MyList.xlsm&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;try{&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Process p = Runtime.getRuntime().exec("cmd /c start /wait " + context.MacroPath.replace("/","\\\\") + "\\THEMACRO.vbs " +&amp;nbsp;"\""+ context.filepath + "\"");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.waitFor();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}catch( IOException ex ){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Validate the case the file can't be accesed (not enought permissions)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}catch( InterruptedException ex ){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.print(context.filepath + " Refreshed\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Validate the case the process is being stopped by some external situation&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;that's it!&lt;/P&gt;&lt;P&gt;I hope it helps&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ammar Ijel&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Aug 2022 20:43:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Insert-Data-into-sharepoint-List/m-p/2267730#M46529</guid>
      <dc:creator>AIjel</dc:creator>
      <dc:date>2022-08-27T20:43:01Z</dc:date>
    </item>
  </channel>
</rss>

