myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Office-Technologien » Tabellen-/ Listenwert in Sharepoint auslesen
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Tabellen-/ Listenwert in Sharepoint auslesen

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Rico913
myCSharp.de-Mitglied

Dabei seit: 29.04.2020
Beiträge: 81


Rico913 ist offline

Tabellen-/ Listenwert in Sharepoint auslesen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich relativ neu und stelle mich neuen Herausforderungen in der C#-Welt

Mein Ziel ist es einen bestimmten Wert aus einer Tabelle auf unserer Website auszulesen. Diese Liste liegt im SharePoint.

Die Seite liegt unter der Adresse  http://......./AllItems.aspx

Es gibt vier Spalten -> Gerät // Status // RestZeit // Geändert

Die Restzeit gibt an, das ein Gerät in x-Minuten eingekühlt werden muss. Ziel ist es in meinem Form eine Ampel darzustellen <=15 -> rot // 15 <=> 60 -> orange // >60 -> grün, die sich alle paar Minuten aktualisiert.

Die Form-Programmierung mit der Ampel bekomme ich hin, aber ich hab momentan keine Ahnung, wie ich an die Daten komme. Ist das generell möglich?
Mir fehlt ein wenig der Ansatz, ich habe mich zwar schon durch diverse Docs gekämpft, aber ich glaube ich bin etwas durcheinander gekommen :-(
28.05.2020 11:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
BerndFfm BerndFfm ist männlich
myCSharp.de-Team

avatar-3299.jpg


Dabei seit: 20.01.2006
Beiträge: 3.633
Entwicklungsumgebung: Visual Studio 2015
Herkunft: Frankfurt a.M.


BerndFfm ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Daten im Web kannst Du abrufen mit :

C#-Code:
WebClient cl = new WebClient();
string html = cl.DownloadString(...);
...

Wenn die Website ohne Browser nichts liefert kannst Du ein WebBrowser Control einsetzen, die Website laden und dann das aktuelle Dokument auslesen.

Grüße Bernd
28.05.2020 12:21 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.495
Herkunft: BW


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Der SharePoint hat seit gefühlt 100 Jahren eine API für das Auslesen von Dateien oder Informationen über Anwendungen.
28.05.2020 12:40 Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.865
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Th69 am 28.05.2020 12:49.

28.05.2020 12:44 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rico913
myCSharp.de-Mitglied

Dabei seit: 29.04.2020
Beiträge: 81

Themenstarter Thema begonnen von Rico913

Rico913 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke für die Starthilfe, leider bin ich noch nicht auf dem richtigen Weg :(

Im Quellcode der Website ist folgendes Script hinterlegt:

Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
<script language="javascript" type="text/javascript">
function timedRefresh(timeoutPeriod) {
setTimeout("window.location.href = window.location.href;",timeoutPeriod);

}
timedRefresh(600000);// for 10 minutes

var i=0;
var allCells = document.getElementsByTagName("td");
for(i=0;i<allCells.length; i++)
{if(allCells[i].innerText.indexOf("Cryoampel#") == 0)
{if(allCells[i-1].innerText == "Eingekühlt")
{
var sharepointtime = Math.abs(Date.parse("January 01  1900 00:00:00"))/1000/60/60;
var modtime = (allCells[i].innerText.split("#")[1]);
//Stunden seit 1900
modtime = modtime.replace(/,/g, '.')*24;
//modtime in Stunden seit 1970
var modtime_js =  modtime-sharepointtime;
//currtime in Stunden seit 1970
var currtime = new Date();

//Korrektur für Sommerzeit
var jan = new Date(currtime.getFullYear(), 0, 1).getTimezoneOffset();
var jul = new Date(currtime.getFullYear(), 6, 1).getTimezoneOffset();
if(Math.max(jan, jul) != currtime.getTimezoneOffset())
{
currtime = (currtime.getTime()/1000/60/60)+1;
}
else
currtime = currtime.getTime()/1000/60/60;

var remtime = ((modtime_js + 4) - currtime)-48;
var sremtime = remtime.toString();
var remtimesplit = sremtime.split(".");
var remminutes = Math.abs(parseInt((remtime-parseInt(remtimesplit[0]))*60));
if (remminutes <10) {remminutes = "0"+remminutes};
if(remtime <= 0.5)
{
allCells[i].innerHTML = "<b><font color='red'>"+remtimesplit[0]+":"+remminutes+"</font></b>";
}
else
allCells[i].innerHTML = remtimesplit[0]+":"+remminutes;
}
else
allCells[i].innerHTML = "-";
}
}</script>

Ich vermute, dass der Wert "allCells[i].innerHTML", der Wert ist, den ich benötige.

Das Einzige was ich bisher geschafft habe, ist den Quellcode als Ganzes downzuloaden:

C#-Code:
WebClient client = new WebClient();
client.UseDefaultCredentials = true;
string reply = Client.DownloadString("http://...../Lists/SEMTEM%20cryo%20cycle%20tracker/AllItems.aspx");
Console.WriteLine(reply);

Aber das ist ja leider nicht das Ziel....
Muss ich das Script nicht irgendwie laufen lassen, damit ich den berechneten Wert bekomme?

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Rico913 am 28.05.2020 14:15.

28.05.2020 14:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.599
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Liest du dir die Antworten auf deine Frage eigentlich auch durch?
Niemand würde das so machen, SharePoint hat eine API, die genau für diese Zwecke entwickelt wurde. Wenn du die nicht verwendest, wird dir wohl niemand weiterhelfen können.
28.05.2020 17:45 Beiträge des Benutzers | zu Buddylist hinzufügen
Rico913
myCSharp.de-Mitglied

Dabei seit: 29.04.2020
Beiträge: 81

Themenstarter Thema begonnen von Rico913

Rico913 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Na klar, lese ich mir die Antworten durch und Bernd hat gleich im ersten Kommentar geschrieben, ich solle es mit einem Web-Client probieren. Dies erschien mir der unkomplizierteste Weg....

Sorry, dass ich da mit meiner wenigen Erfahrung nicht die Kompetenz habe, auf Anhieb zu erkennen, welch die richtige, saubere Methode ist. Zumal viele Wege nach Rom führen, ob sie nun steinig oder asphaltiert sind sei mal dahin gestellt.
31.05.2020 20:12 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 7 Monate.
Der letzte Beitrag ist älter als 7 Monate.
Antwort erstellen


© Copyright 2003-2021 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 25.01.2021 14:29